|
V8 Project
|
#include <heap.h>
Collaboration diagram for v8::internal::Heap:Classes | |
| struct | Chunk |
| class | DevToolsTraceEventScope |
| class | ExternalMemoryAccounting |
| class | ExternalStringTable |
| struct | LimitsCompuatationResult |
Public Types | |
| enum class | HeapGrowingMode { kSlow , kConservative , kMinimal , kDefault } |
| enum | HeapState { NOT_IN_GC , SCAVENGE , MARK_COMPACT , MINOR_MARK_SWEEP , TEAR_DOWN } |
| enum class | StackScanMode { kNone , kFull , kSelective } |
| enum class | OldGenerationExpansionNotificationOrigin { kFromClientHeap , kFromSameHeap } |
| enum class | IterateRootsMode { kMainIsolate , kClientIsolate } |
| enum class | SweepingForcedFinalizationMode { kUnifiedHeap , kV8Only } |
| using | Reservation = std::vector< Chunk > |
| using | GetExternallyAllocatedMemoryInBytesCallback = v8::Isolate::GetExternallyAllocatedMemoryInBytesCallback |
Static Public Attributes | |
| static const int | kPointerMultiplier = kTaggedSize / 4 |
| static constexpr size_t | kPhysicalMemoryToOldGenerationRatio = 4 |
| static constexpr size_t | kNewLargeObjectSpaceToSemiSpaceRatio = 1 |
| static const int | kTraceRingBufferSize = 512 |
| static const int | kStacktraceBufferSize = 512 |
| static const int | kMinObjectSizeInTaggedWords = 2 |
Private Types | |
| enum class | VerifyNoSlotsRecorded { kYes , kNo } |
| enum class | ResizeNewSpaceMode { kShrink , kGrow , kNone } |
| enum class | IncrementalMarkingLimit { kNoLimit , kSoftLimit , kHardLimit , kFallbackForEmbedderLimit } |
| enum | AllocationRetryMode { kLightRetry , kRetryOrFail } |
| using | ExternalStringTableUpdaterCallback = Tagged< String >(*)(Heap *heap, FullObjectSlot pointer) |
Static Private Member Functions | |
| static bool | IsRegularObjectAllocation (AllocationType allocation) |
| static LimitsCompuatationResult | ComputeNewAllocationLimits (Heap *heap) |
Static Private Attributes | |
| static const int | kInitialEvalCacheSize = 64 |
| static const int | kRememberedUnmappedPages = 128 |
| static const int | kYoungSurvivalRateHighThreshold = 90 |
| static const int | kYoungSurvivalRateAllowedDeviation = 15 |
| static const int | kOldSurvivalRateLowThreshold = 10 |
| static const int | kMaxMarkCompactsInIdleRound = 7 |
| static constexpr int | kRetainMapEntrySize = 2 |
| static const int | kMaxLoadTimeMs = 7000 |
| static const uintptr_t | kMmapRegionMask = 0xFFFFFFFFu |
| static constexpr double | kLoadTimeNotLoading = -1.0 |
|
private |
| using v8::internal::Heap::Reservation = std::vector<Chunk> |
|
private |
|
strong |
|
strongprivate |
|
strong |
|
strongprivate |
|
strong |
|
strongprivate |
|
private |
Definition at line 177 of file heap.cc.
References DCHECK_EQ, v8::internal::kNone, v8::internal::kNullAddress, v8::internal::kOld, v8::internal::MutablePageMetadata::kPageSize, v8::internal::kSharedOld, max_old_generation_size(), max_regular_code_object_size_, v8::internal::MemoryChunkLayout::MaxRegularCodeObjectSize(), RememberUnmappedPage(), set_native_contexts_list(), and v8::internal::Smi::zero().
Here is the call graph for this function:
|
privatedefault |
|
privatedelete |
| void v8::internal::Heap::ActivateMemoryReducerIfNeeded | ( | ) |
Definition at line 3924 of file heap.cc.
References memory_reducer_, and task_runner_.
Referenced by v8::internal::Isolate::SetPriority().
Here is the caller graph for this function:
|
private |
Definition at line 3931 of file heap.cc.
References CommittedMemory(), isolate(), v8::internal::MutablePageMetadata::kPageSize, memory_reducer_, and ms_count_.
Here is the call graph for this function:| void v8::internal::Heap::AddAllocationObserversToAllSpaces | ( | AllocationObserver * | observer, |
| AllocationObserver * | new_space_observer | ||
| ) |
Definition at line 1027 of file heap.cc.
References v8::internal::HeapAllocator::AddAllocationObserver(), allocator(), v8::internal::DCHECK(), and FreeMainThreadLinearAllocationAreas().
Referenced by NotifyDeserializationComplete(), and v8::internal::SamplingHeapProfiler::SamplingHeapProfiler().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::AddGCEpilogueCallback | ( | v8::Isolate::GCCallbackWithData | callback, |
| GCType | gc_type_filter, | ||
| void * | data | ||
| ) |
Definition at line 6446 of file heap.cc.
References v8::internal::GCCallbacks::Add(), gc_epilogue_callbacks_, and isolate().
Referenced by v8::Isolate::AddGCEpilogueCallback(), v8::internal::wasm::WasmEngine::AddIsolate(), and SetUp().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::AddGCPrologueCallback | ( | v8::Isolate::GCCallbackWithData | callback, |
| GCType | gc_type_filter, | ||
| void * | data | ||
| ) |
Definition at line 6435 of file heap.cc.
References v8::internal::GCCallbacks::Add(), gc_prologue_callbacks_, and isolate().
Referenced by v8::Isolate::AddGCPrologueCallback(), and SetUp().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::AddHeapObjectAllocationTracker | ( | HeapObjectAllocationTracker * | tracker | ) |
Definition at line 920 of file heap.cc.
References allocation_trackers_, DisableInlineAllocation(), isolate_, v8::internal::Isolate::UpdateLogObjectRelocation(), and v8::internal::v8_flags.
Referenced by v8::internal::Heap::AllocationTrackerForDebugging::AllocationTrackerForDebugging(), v8::internal::HeapProfiler::StartHeapObjectsTracking(), and v8::internal::Debug::StartSideEffectCheckMode().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::AddNearHeapLimitCallback | ( | v8::NearHeapLimitCallback | callback, |
| void * | data | ||
| ) |
Definition at line 4360 of file heap.cc.
References CHECK_LT, CHECK_NE, and near_heap_limit_callbacks_.
Referenced by v8::Isolate::AddNearHeapLimitCallback().
Here is the caller graph for this function:| void v8::internal::Heap::AddRetainedMaps | ( | DirectHandle< NativeContext > | context, |
| GlobalHandleVector< Map > | maps | ||
| ) |
Definition at line 6521 of file heap.cc.
References CompactRetainedMaps(), v8::internal::DCHECK(), v8::internal::WeakArrayList::EnsureSpace(), v8::internal::Smi::FromInt(), v8::internal::HeapLayout::InAnySharedSpace(), isolate(), kRetainMapEntrySize, v8::internal::MakeWeak(), v8::internal::anonymous_namespace{json-stringifier.cc}::no_gc, v8::internal::GlobalHandleVector< T >::size(), and v8::internal::v8_flags.
Referenced by v8::internal::OptimizedCompilationJob::RegisterWeakObjectsInOptimizedCode().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 5298 of file heap.cc.
References kTraceRingBufferSize, ring_buffer_end_, ring_buffer_full_, and trace_ring_buffer_.
| Tagged< HeapObject > v8::internal::Heap::AlignWithFillerBackground | ( | Tagged< HeapObject > | object, |
| int | object_size, | ||
| int | allocation_size, | ||
| AllocationAlignment | alignment | ||
| ) |
Definition at line 3170 of file heap.cc.
References CreateFillerObjectAtBackground(), DCHECK_LE, DCHECK_LT, v8::internal::WritableFreeSpace::ForNonExecutableMemory(), GetFillToAlign(), and PrecedeWithFillerBackground().
Here is the call graph for this function:
|
private |
Definition at line 327 of file setup-heap-internal.cc.
References AllocateRaw(), v8::internal::DCHECK(), v8::internal::AllocationResult::FromObject(), isolate(), v8::internal::kYoung, v8::base::internal::result, size(), v8::internal::SKIP_WRITE_BARRIER, v8::internal::AllocationResult::To(), and v8::internal::UPDATE_WRITE_BARRIER.
Referenced by CreateEarlyReadOnlyMapsAndObjects(), and CreateReadOnlyObjects().
Here is the call graph for this function:
Here is the caller graph for this function:| uint64_t v8::internal::Heap::AllocatedExternalMemorySinceMarkCompact | ( | ) | const |
Definition at line 5446 of file heap.cc.
References v8::internal::Heap::ExternalMemoryAccounting::AllocatedSinceMarkCompact(), and external_memory_.
Referenced by AllocationLimitOvershotByLargeMargin().
Here is the call graph for this function:
Here is the caller graph for this function:| void * v8::internal::Heap::AllocateExternalBackingStore | ( | const std::function< void *(size_t)> & | allocate, |
| size_t | byte_length | ||
| ) |
Definition at line 3188 of file heap.cc.
References always_allocate(), v8::internal::Isolate::array_buffer_allocator(), CollectAllAvailableGarbage(), CollectGarbage(), v8::internal::DCHECK(), DefaultMaxSemiSpaceSize(), v8::internal::NewSpace::ExternalBackingStoreOverallBytes(), incremental_marking(), isolate(), v8::internal::kExternalMemoryPressure, v8::internal::JSArrayBuffer::kMaxByteLength, v8::ArrayBuffer::Allocator::MaxAllocationSize(), v8::internal::NEW_SPACE, new_space(), v8::internal::OLD_SPACE, and v8::base::internal::result.
Referenced by v8::internal::BackingStore::Allocate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 256 of file setup-heap-internal.cc.
References AllocateRaw(), DCHECK_EQ, v8::internal::Isolate::factory(), v8::internal::AllocationResult::FromObject(), v8::internal::Factory::InitializeMap(), isolate(), v8::internal::kMap, v8::internal::kReadOnly, v8::internal::LAST_TYPE, v8::base::internal::result, v8::internal::SKIP_WRITE_BARRIER, and v8::internal::AllocationResult::To().
Referenced by CreateLateReadOnlyJSReceiverMaps(), and CreateLateReadOnlyNonJSReceiverMaps().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 304 of file setup-heap-internal.cc.
References AllocateRaw(), v8::internal::AllocationResult::FromObject(), v8::internal::anonymous_namespace{setup-heap-internal.cc}::InitializePartialMap(), isolate(), v8::internal::kReadOnly, v8::base::internal::result, and v8::internal::AllocationResult::To().
Referenced by CreateEarlyReadOnlyMapsAndObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 198 of file heap-inl.h.
References v8::internal::HeapAllocator::AllocateRaw(), heap_allocator_, and v8::internal::tracing::type.
Referenced by Allocate(), AllocateMap(), AllocatePartialMap(), CreateEarlyReadOnlyMapsAndObjects(), CreateImportantReadOnlyObjects(), and CreateReadOnlyObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 204 of file heap-inl.h.
References v8::internal::HeapAllocator::AllocateRawWith(), heap_allocator_, v8::internal::HeapAllocator::kRetryOrFail, and size().
Here is the call graph for this function:
|
inlineprivate |
|
inline |
Definition at line 514 of file heap.h.
Referenced by v8::internal::ObjectStatsCollectorImpl::CollectGlobalStatistics(), DeoptMarkedAllocationSites(), v8::internal::AllocationSite::IsNested(), ProcessAllocationSites(), v8::internal::PretenuringHandler::ProcessPretenuringFeedback(), ProcessWeakListRoots(), and ResetAllAllocationSitesDependentCode().
Here is the caller graph for this function:
|
inline |
|
inlineprivate |
Definition at line 2117 of file heap.h.
Referenced by v8::internal::Factory::AllocationTypeForInPlaceInternalizableString(), and v8::internal::LocalFactory::AllocationTypeForInPlaceInternalizableString().
Here is the caller graph for this function:| bool v8::internal::Heap::AllocationLimitOvershotByLargeMargin | ( | ) | const |
Definition at line 5450 of file heap.cc.
References AllocatedExternalMemorySinceMarkCompact(), global_allocation_limit(), GlobalConsumedBytes(), incremental_marking(), max_global_memory_size_, max_old_generation_size(), v8::internal::MB, old_generation_allocation_limit(), OldGenerationConsumedBytes(), v8::internal::v8_flags, and YoungGenerationConsumedBytes().
Referenced by RecomputeLimitsAfterLoadingIfNeeded(), ShouldExpandOldGenerationOnSlowAllocation(), ShouldExpandYoungGenerationOnSlowAllocation(), and ShouldOptimizeForLoadTime().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1696 of file heap.h.
Referenced by AddAllocationObserversToAllSpaces(), v8::internal::ScheduleMinorGCTaskObserver::AddToNewSpace(), v8::internal::Factory::allocator(), v8::internal::ScavengerCollector::CollectGarbage(), CreateReadOnlyObjects(), v8::internal::EvacuationAllocator::EvacuationAllocator(), v8::internal::MarkCompactCollector::Finish(), FreeMainThreadLinearAllocationAreas(), FreeSharedLinearAllocationAreasAndResetFreeLists(), IsPendingAllocationInternal(), MakeLinearAllocationAreasIterable(), v8::internal::MarkCompactCollector::MarkObjectsFromClientHeap(), MarkSharedLinearAllocationAreasBlack(), NewSpaceAllocationCounter(), NewSpaceLimit(), NewSpaceTop(), OldSpaceAllocationLimitAddress(), OldSpaceAllocationTopAddress(), v8::internal::IncrementalMarking::PauseBlackAllocation(), v8::internal::MarkCompactCollector::Prepare(), PublishMainThreadPendingAllocations(), RemoveAllocationObserversFromAllSpaces(), v8::internal::ScheduleMinorGCTaskObserver::RemoveFromNewSpace(), v8::internal::ConcurrentMarking::RunMajor(), v8::internal::ConcurrentMarking::RunMinorImpl(), SetUpSpaces(), v8::internal::IncrementalMarking::StartBlackAllocation(), v8::internal::IncrementalMarking::StartMarkingMajor(), StaticRootsEnsureAllocatedSize(), v8::internal::ScheduleMinorGCTaskObserver::Step(), v8::internal::IncrementalMarking::Stop(), TearDown(), UnmarkSharedLinearAllocationAreas(), and v8::internal::PauseAllocationObserversScope::~PauseAllocationObserversScope().
Here is the caller graph for this function:
|
inline |
|
static |
Definition at line 278 of file heap.cc.
References DefaultMaxSemiSpaceSize(), kPageSizeBits, RoundUp(), and YoungGenerationSizeFromSemiSpaceSize().
Referenced by ConfigureHeap(), InvokeNearHeapLimitCallback(), and MaxOldGenerationSizeFromPhysicalMemory().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::AllowedToBeMigrated | ( | Tagged< Map > | map, |
| Tagged< HeapObject > | object, | ||
| AllocationSpace | dest | ||
| ) |
Definition at line 7230 of file heap.cc.
References v8::internal::CODE_LO_SPACE, v8::internal::CODE_SPACE, v8::internal::MutablePageMetadata::FromHeapObject(), v8::internal::LO_SPACE, v8::internal::NEW_LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_SPACE, v8::internal::MutablePageMetadata::owner_identity(), ReadOnlyRoots, v8::internal::RO_SPACE, v8::internal::SHARED_LO_SPACE, v8::internal::SHARED_SPACE, v8::internal::SHARED_TRUSTED_LO_SPACE, v8::internal::SHARED_TRUSTED_SPACE, v8::internal::TRUSTED_LO_SPACE, v8::internal::TRUSTED_SPACE, v8::internal::tracing::type, and v8::internal::UNREACHABLE().
Referenced by v8::internal::EvacuateVisitorBase::RawMigrateObject().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 2017 of file heap.h.
Referenced by v8::internal::IncrementalMarking::AdvanceAndFinalizeIfNecessary(), AllocateExternalBackingStore(), CollectGarbage(), CollectGarbageShared(), IncrementalMarkingLimitReached(), IsNewSpaceAllowedToGrowAboveTargetCapacity(), ShouldExpandOldGenerationOnSlowAllocation(), and ShouldExpandYoungGenerationOnSlowAllocation().
Here is the caller graph for this function:| void v8::internal::Heap::AppendArrayBufferExtension | ( | ArrayBufferExtension * | extension | ) |
Definition at line 4384 of file heap.cc.
References array_buffer_sweeper_.
Referenced by v8::internal::JSArrayBuffer::CreateExtension().
Here is the caller graph for this function:
|
inline |
Definition at line 866 of file heap.h.
Referenced by v8::internal::MinorMarkSweepCollector::CollectGarbage(), v8::internal::anonymous_namespace{heap.cc}::CompleteArrayBufferSweeping(), OldArrayBufferBytes(), v8::internal::MinorMarkSweepCollector::Sweep(), v8::internal::MarkCompactCollector::SweepArrayBufferExtensions(), v8::internal::ScavengerCollector::SweepArrayBufferExtensions(), and YoungArrayBufferBytes().
Here is the caller graph for this function:
|
inline |
|
private |
Definition at line 6234 of file heap.cc.
References v8::internal::CppHeap::AttachIsolate(), CHECK, CHECK_IMPLIES, cpp_heap(), cpp_heap_, v8::internal::CppHeap::From(), incremental_marking(), isolate(), and owning_cpp_heap_.
Referenced by ConfigureHeap().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::AutomaticallyRestoreInitialHeapLimit | ( | double | threshold_percent | ) |
Definition at line 4400 of file heap.cc.
References initial_max_old_generation_size_, and initial_max_old_generation_size_threshold_.
Referenced by v8::Isolate::AutomaticallyRestoreInitialHeapLimit().
Here is the caller graph for this function:| size_t v8::internal::Heap::Available | ( | ) |
Definition at line 400 of file heap.cc.
References v8::internal::MemoryAllocator::Available(), HasBeenSetUp(), v8::internal::SpaceIterator::HasNext(), and memory_allocator().
Referenced by PrintShortHeapStatistics(), and SetUpSpaces().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 668 of file heap.h.
Referenced by v8::internal::ArrayBufferSweeper::Finish(), v8::Isolate::GetHeapStatistics(), and PrintShortHeapStatistics().
Here is the caller graph for this function:| void v8::internal::Heap::CallGCEpilogueCallbacks | ( | GCType | gc_type, |
| GCCallbackFlags | flags, | ||
| GCTracer::Scope::ScopeId | scope_id | ||
| ) |
Definition at line 2720 of file heap.cc.
References v8::internal::GCCallbacksScope::CheckReenter(), v8::internal::flags, gc_epilogue_callbacks_, v8::internal::GCCallbacks::Invoke(), v8::internal::GCCallbacks::IsEmpty(), isolate(), RCS_SCOPE, TRACE_GC, and tracer().
Referenced by CollectGarbage(), InvokeIncrementalMarkingEpilogueCallbacks(), and v8::internal::GlobalHandles::InvokeSecondPassPhantomCallbacks().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CallGCPrologueCallbacks | ( | GCType | gc_type, |
| GCCallbackFlags | flags, | ||
| GCTracer::Scope::ScopeId | scope_id | ||
| ) |
Definition at line 2707 of file heap.cc.
References v8::internal::GCCallbacksScope::CheckReenter(), v8::internal::flags, gc_prologue_callbacks_, v8::internal::GCCallbacks::Invoke(), v8::internal::GCCallbacks::IsEmpty(), isolate(), RCS_SCOPE, TRACE_GC, and tracer().
Referenced by CollectGarbage(), InvokeIncrementalMarkingPrologueCallbacks(), and v8::internal::GlobalHandles::InvokeSecondPassPhantomCallbacks().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 413 of file heap.cc.
References force_gc_on_next_allocation_, force_oom_, max_old_generation_size(), MaxReserved(), memory_allocator(), OldGenerationCapacity(), v8::internal::MemoryAllocator::Size(), and size().
Referenced by CanPromoteYoungAndExpandOldGeneration(), ReachedHeapLimit(), and ShouldOptimizeForMemoryUsage().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::CanMoveObjectStart | ( | Tagged< HeapObject > | object | ) |
Definition at line 3384 of file heap.cc.
References v8::internal::MutablePageMetadata::FromHeapObject(), heap_profiler(), incremental_marking(), IsLargeObject(), isolate(), and v8::internal::v8_flags.
Referenced by LeftTrimFixedArray(), and v8::internal::anonymous_namespace{elements.cc}::FastElementsAccessor< Subclass, KindTraits >::RemoveElement().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 426 of file heap.cc.
References CanExpandOldGeneration(), v8::internal::PagedSpaceBase::Capacity(), v8::internal::NewSpace::Capacity(), DCHECK_NULL, v8::internal::MutablePageMetadata::kPageSize, new_lo_space(), new_lo_space_, new_space(), v8::internal::SemiSpaceNewSpace::QuarantinedPageCount(), semi_space_new_space(), v8::internal::LargeObjectSpace::Size(), size(), sticky_space(), v8::internal::v8_flags, and v8::internal::StickySpace::young_objects_size().
Referenced by v8::internal::ScavengerCollector::NumberOfScavengeTasks(), SelectGarbageCollector(), and ShouldExpandYoungGenerationOnSlowAllocation().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::CanReferenceHeapObject | ( | Tagged< HeapObject > | obj | ) |
Definition at line 4611 of file heap.cc.
References v8::internal::MemoryChunk::FromHeapObject(), v8::internal::MemoryChunk::GetHeap(), v8::internal::Isolate::heap(), v8::internal::MemoryChunk::InReadOnlySpace(), v8::internal::MemoryChunk::InWritableSharedSpace(), isolate(), and v8::internal::Isolate::shared_space_isolate().
Referenced by v8::internal::HandleScope::CreateHandle().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 686 of file heap.h.
Referenced by v8::internal::HeapAllocator::AllocateRaw().
Here is the caller graph for this function:| bool v8::internal::Heap::CanShortcutStringsDuringGC | ( | GarbageCollector | collector | ) | const |
Definition at line 535 of file heap.cc.
References v8::internal::DCHECK(), heap(), incremental_marking(), IsGCWithStack(), isolate(), v8::internal::MINOR_MARK_SWEEPER, v8::internal::SCAVENGER, v8::internal::UNREACHABLE(), v8::internal::v8_flags, and V8_STATIC_ROOTS_BOOL.
Here is the call graph for this function:| size_t v8::internal::Heap::Capacity | ( | ) |
Definition at line 326 of file heap.cc.
References HasBeenSetUp(), NewSpaceCapacity(), and OldGenerationCapacity().
Referenced by SetUpSpaces().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CheckCollectionRequested | ( | ) |
Definition at line 2239 of file heap.cc.
References CollectAllGarbage(), CollectionRequested(), current_gc_callback_flags_, current_gc_flags_, and v8::internal::kBackgroundAllocationFailure.
Referenced by HandleGCRequest(), and v8::internal::BackgroundCollectionInterruptTask::RunInternal().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CheckHandleCount | ( | ) |
Definition at line 6623 of file heap.cc.
References v8::internal::Isolate::handle_scope_implementer(), isolate_, and v8::internal::HandleScopeImplementer::Iterate().
Referenced by GarbageCollectionEpilogueInSafepoint().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1811 of file heap.cc.
References FatalProcessOutOfMemory(), heap_profiler(), InvokeNearHeapLimitCallback(), ReachedHeapLimit(), v8::internal::v8_flags, and v8::internal::HeapProfiler::WriteSnapshotToDiskAfterGC().
Referenced by v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(), CollectAllAvailableGarbage(), and CollectGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3861 of file heap.cc.
References consecutive_ineffective_mark_compacts_, FatalProcessOutOfMemory(), heap_profiler(), InvokeNearHeapLimitCallback(), IsIneffectiveMarkCompact(), v8::internal::anonymous_namespace{heap.cc}::kMaxConsecutiveIneffectiveMarkCompacts, v8::internal::v8_flags, and v8::internal::HeapProfiler::WriteSnapshotToDiskAfterGC().
Referenced by RecomputeLimits().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CheckMemoryPressure | ( | ) |
Definition at line 4273 of file heap.cc.
References CollectGarbageOnMemoryPressure(), v8::internal::anonymous_namespace{heap.cc}::FreeCachesOnMemoryPressure(), HighMemoryPressure(), incremental_marking(), isolate(), v8::kCritical, v8::internal::kMemoryPressure, v8::kModerate, v8::kNone, v8::internal::kReduceMemoryFootprint, memory_pressure_level_, StartIncrementalMarking(), TRACE_EVENT0, and v8::internal::v8_flags.
Referenced by HandleGCRequest(), and MemoryPressureNotification().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::ClearKeptObjects | ( | ) |
Definition at line 7147 of file heap.cc.
References isolate(), and ReadOnlyRoots.
Referenced by v8::internal::Isolate::ClearKeptObjects().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 6649 of file heap.cc.
References v8::internal::PageMetadata::cast(), v8::internal::DCHECK(), v8::internal::compiler::end(), v8::internal::MemoryChunk::FromAddress(), v8::internal::MemoryChunk::InYoungGeneration(), v8::internal::MemoryChunk::IsLargePage(), heap::base::BasicSlotSet< kTaggedSize >::KEEP_EMPTY_BUCKETS, v8::internal::MemoryChunk::Metadata(), v8::internal::OLD_SPACE, v8::internal::MutablePageMetadata::owner_identity(), v8::internal::RememberedSet< type >::RemoveRange(), v8::internal::SHARED_SPACE, v8::internal::MutablePageMetadata::SweepingDone(), and v8::internal::TRUSTED_SPACE.
Referenced by CreateFillerObjectAtRaw().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 778 of file heap.h.
Referenced by DeactivateMajorGCInProgressFlag(), v8::internal::anonymous_namespace{deoptimizer.cc}::DeoptimizableCodeIterator::Next(), v8::internal::OldGenerationMemoryChunkIterator::next(), OldGenerationSizeOfObjects(), v8::internal::IncrementalMarking::OldGenerationSizeOfObjects(), and Unmark().
Here is the caller graph for this function:
|
inline |
Definition at line 874 of file heap.h.
Referenced by v8::internal::Isolate::Init(), and v8::internal::CodeDataSourceIncrementalState::InternIsolate().
Here is the caller graph for this function:
|
inline |
Definition at line 185 of file heap-inl.h.
References code_range_, and v8::internal::kNullAddress.
Referenced by v8::internal::Isolate::AddCrashKeysForIsolateAndHeapPointers(), and v8::internal::AssemblerOptions::Default().
Here is the caller graph for this function:
|
inline |
Definition at line 180 of file heap-inl.h.
References code_range_.
Referenced by v8::internal::anonymous_namespace{setup-builtins-internal.cc}::BuiltinAssemblerOptions(), v8::Isolate::GetCodeRange(), v8::internal::TickSample::GetStackSample(), v8::internal::Isolate::InitializeIsShortBuiltinCallsEnabled(), and v8::internal::Isolate::MaybeRemapEmbeddedBuiltinsIntoCodeRange().
Here is the caller graph for this function:
|
inline |
Definition at line 775 of file heap.h.
Referenced by v8::internal::Isolate::AddCrashKeysForIsolateAndHeapPointers(), DeactivateMajorGCInProgressFlag(), EnsureSweepingCompleted(), v8::internal::EvacuationAllocator::Finalize(), GarbageCollectionEpilogue(), GarbageCollectionEpilogueInSafepoint(), v8::internal::OldGenerationMemoryChunkIterator::next(), OldGenerationSizeOfObjects(), v8::internal::HeapAllocator::Setup(), v8::internal::MarkCompactCollector::StartCompaction(), Unmark(), and v8::internal::MarkCompactCollector::VerifyMarking().
Here is the caller graph for this function:| void v8::internal::Heap::CollectAllAvailableGarbage | ( | GarbageCollectionReason | gc_reason | ) |
Definition at line 1351 of file heap.cc.
References CheckHeapLimitReached(), CollectGarbage(), cpp_heap(), cpp_heap_, current_gc_flags_, DCHECK_EQ, EagerlyFreeExternalMemoryAndWasmCode(), v8::internal::Isolate::eternal_handles(), v8::internal::anonymous_namespace{heap.cc}::FreeCachesOnMemoryPressure(), v8::internal::CppHeap::From(), v8::internal::Isolate::global_handles(), v8::internal::GlobalHandles::handles_count(), v8::internal::EternalHandles::handles_count(), heap_profiler(), InvokeNearHeapLimitCallback(), v8::internal::Tagged< HeapObject >::is_null(), isolate(), v8::internal::kForced, v8::internal::kLastResort, v8::internal::kLowMemoryNotification, v8::internal::kNo, v8::internal::kNoFlags, v8::kNoGCCallbackFlags, v8::internal::kReduceMemoryFootprint, v8::internal::kYes, lo_space(), v8::internal::PagedSpaceIterator::Next(), v8::internal::LargeObjectSpaceObjectIterator::Next(), v8::internal::PagedSpaceObjectIterator::Next(), v8::internal::OLD_SPACE, RCS_SCOPE, ReachedHeapLimit(), v8::internal::anonymous_namespace{heap.cc}::ReportDuplicates(), space(), v8::internal::v8_flags, and v8::internal::HeapProfiler::WriteSnapshotToDiskAfterGC().
Referenced by AllocateExternalBackingStore(), v8::internal::BackgroundMergeTask::BeginMergeInBackground(), v8::internal::HeapAllocator::CollectAllAvailableGarbage(), CollectGarbageWithRetry(), v8::internal::SnapshotCreatorImpl::CreateBlob(), v8::internal::HeapSnapshotGenerator::GenerateSnapshot(), v8::internal::HeapProfiler::GetDetachedJSWrapperObjects(), v8::Isolate::LowMemoryNotification(), v8::internal::HeapProfiler::QueryObjects(), v8::Shell::RunMain(), and v8::internal::Snapshot::SerializeDeserializeAndVerifyForTesting().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CollectAllGarbage | ( | GCFlags | gc_flags, |
| GarbageCollectionReason | gc_reason, | ||
| const GCCallbackFlags | gc_callback_flags = kNoGCCallbackFlags |
||
| ) |
Definition at line 1267 of file heap.cc.
References CollectGarbage(), current_gc_flags_, DCHECK_EQ, v8::internal::kNoFlags, and v8::internal::OLD_SPACE.
Referenced by CheckCollectionRequested(), v8::internal::CppHeap::CollectGarbage(), CollectGarbageFromAnyThread(), CollectGarbageOnMemoryPressure(), FinalizeIncrementalMarkingAtomically(), v8::internal::SamplingHeapProfiler::GetAllocationProfile(), v8::internal::Debug::GetLoadedScripts(), HandleExternalMemoryInterrupt(), HandleGCRequest(), v8::internal::Deoptimizer::MaterializeHeapObjects(), PreciseCollectAllGarbage(), v8::internal::anonymous_namespace{objects.cc}::RehashObjectHashTableAndGCIfNeeded(), and v8::internal::Isolate::StackOverflow().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CollectCodeStatistics | ( | ) |
Definition at line 4447 of file heap.cc.
References code_lo_space_, code_space_, v8::internal::CodeStatistics::CollectCodeStatistics(), isolate(), v8::internal::kGlobalSafepointForSharedSpaceIsolate, MakeHeapIterable(), old_space_, v8::internal::CodeStatistics::ResetCodeAndMetadataStatistics(), TRACE_EVENT0, trusted_lo_space_, and trusted_space_.
Referenced by v8::Isolate::GetHeapCodeAndMetadataStatistics().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CollectGarbage | ( | AllocationSpace | space, |
| GarbageCollectionReason | gc_reason, | ||
| const GCCallbackFlags | gc_callback_flags = kNoGCCallbackFlags, |
||
| PerformHeapLimitCheck | check_heap_limit_reached = PerformHeapLimitCheck::kYes |
||
| ) |
Definition at line 1595 of file heap.cc.
References always_allocate(), CallGCEpilogueCallbacks(), CallGCPrologueCallbacks(), CHECK, CHECK_IMPLIES, v8::internal::Isolate::CheckDetachedContextsAfterGC(), CheckHeapLimitReached(), CommittedOldGenerationMemory(), v8::internal::Isolate::CountUsage(), cpp_heap(), current_gc_flags_, current_or_last_garbage_collector_, v8::internal::DCHECK(), DCHECK_EQ, DCHECK_IMPLIES, deserialization_complete_, FatalProcessOutOfMemory(), v8::internal::CppHeap::FinishAtomicSweepingIfRunning(), v8::internal::CppHeap::From(), GarbageCollectionEpilogue(), GarbageCollectionPrologue(), GCFlagsForIncrementalMarking(), v8::internal::GetGCTypeFromGarbageCollector(), v8::internal::Isolate::global_handles(), heap_profiler(), incremental_marking(), initial_max_old_generation_size_, initial_max_old_generation_size_threshold_, v8::internal::anonymous_namespace{heap.cc}::InvokeExternalCallbacks(), v8::internal::GlobalHandles::InvokeSecondPassPhantomCallbacks(), is_current_gc_for_heap_profiler_, is_current_gc_forced_, is_full_gc_during_loading_, isolate(), isolate_, v8::internal::Isolate::IsOnCentralStack(), IsYoungGenerationCollector(), v8::internal::kFinalizeMinorMSForMajorGC, v8::Isolate::kForcedGC, v8::kGCCallbackFlagCollectAllAvailableGarbage, v8::kGCCallbackFlagForced, v8::kGCCallbackScheduleIdleGarbageCollection, v8::internal::kNoFlags, kNone, v8::internal::kYes, main_thread_local_heap(), v8::internal::MARK_COMPACTOR, max_old_generation_size(), memory_reducer_, v8::internal::MINOR_MARK_SWEEPER, v8::internal::GCTracer::RecordGCPhasesInfo::mode(), ms_count_, v8::internal::NEW_SPACE, v8::base::TimeTicks::Now(), OldGenerationSizeOfObjects(), PerformGarbageCollection(), v8::internal::GlobalHandles::PostGarbageCollectionProcessing(), RecomputeLimits(), v8::internal::GCTracer::RecordGCPhasesHistograms(), resize_new_space_mode_, v8::internal::SCAVENGER, SelectGarbageCollector(), heap::base::Stack::SetMarkerIfNeededAndCallback(), SetOldGenerationAndGlobalMaximumSize(), ShouldOptimizeForLoadTime(), ShouldReduceMemory(), space(), stack(), StartIncrementalMarkingIfAllocationLimitIsReached(), StartMinorMSConcurrentMarkingIfNeeded(), v8::internal::GCTracer::StartObservablePause(), v8::internal::GCTracer::StopAtomicPause(), v8::internal::GCTracer::StopFullCycleIfFinished(), v8::internal::GCTracer::StopObservablePause(), v8::internal::GCTracer::StopYoungCycleIfFinished(), v8::internal::TAKE_TIME, v8::internal::ToString(), TRACE_EVENT0, v8::internal::GCTracer::RecordGCPhasesInfo::trace_event_name(), tracer(), v8::Isolate::TryGetCurrent(), v8::internal::GCTracer::RecordGCPhasesInfo::type_priority_timer(), v8::internal::GCTracer::RecordGCPhasesInfo::type_timer(), update_allocation_limits_after_loading_, v8::internal::v8_flags, V8_UNLIKELY, and v8::internal::HeapProfiler::WriteSnapshotToDiskAfterGC().
Referenced by AllocateExternalBackingStore(), CollectAllAvailableGarbage(), CollectAllGarbage(), v8::internal::HeapAllocator::CollectGarbage(), CollectGarbageWithRetry(), HandleGCRequest(), and StartTearDown().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CollectGarbageForBackground | ( | LocalHeap * | local_heap | ) |
Definition at line 2232 of file heap.cc.
References CHECK, CollectGarbageWithRetry(), current_gc_callback_flags_, current_gc_flags_, v8::internal::LocalHeap::is_main_thread(), v8::internal::kBackgroundAllocationFailure, and v8::internal::OLD_SPACE.
Referenced by v8::internal::LocalHeap::ParkSlowPath(), v8::internal::LocalHeap::SafepointSlowPath(), and v8::internal::LocalHeap::UnparkSlowPath().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::CollectGarbageFromAnyThread | ( | LocalHeap * | local_heap, |
| GarbageCollectionReason | gc_reason = GarbageCollectionReason::kBackgroundAllocationFailure |
||
| ) |
Definition at line 2498 of file heap.cc.
References CollectAllGarbage(), collection_barrier_, current_gc_callback_flags_, current_gc_flags_, v8::internal::DCHECK(), v8::internal::LocalHeap::heap(), v8::internal::LocalHeap::is_main_thread(), isolate(), v8::internal::LocalHeap::ThreadState::IsParked(), v8::internal::LocalHeap::IsRunning(), v8::internal::LocalHeap::ThreadState::IsRunning(), main_thread_local_heap(), v8::internal::LocalHeap::AtomicThreadState::SetCollectionRequested(), and v8::internal::LocalHeap::state_.
Referenced by v8::internal::HeapAllocator::CollectAllAvailableGarbage(), v8::internal::HeapAllocator::CollectGarbage(), and CollectGarbageShared().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 4294 of file heap.cc.
References CollectAllGarbage(), CommittedMemory(), EagerlyFreeExternalMemoryAndWasmCode(), v8::internal::compiler::end(), external_memory(), incremental_marking(), v8::kGCCallbackFlagCollectAllAvailableGarbage, v8::internal::kMemoryPressure, v8::internal::kReduceMemoryFootprint, v8::internal::MB, MonotonicallyIncreasingTimeInMs(), SizeOfObjects(), StartIncrementalMarking(), and v8::internal::v8_flags.
Referenced by CheckMemoryPressure().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::CollectGarbageShared | ( | LocalHeap * | local_heap, |
| GarbageCollectionReason | gc_reason | ||
| ) |
Definition at line 2484 of file heap.cc.
References always_allocate(), CHECK, CollectGarbageFromAnyThread(), v8::internal::DCHECK(), deserialization_complete_, FatalProcessOutOfMemory(), v8::internal::Isolate::heap(), isolate(), v8::internal::Isolate::shared_space_isolate(), and V8_UNLIKELY.
Referenced by v8::internal::HeapAllocator::CollectAllAvailableGarbage(), and v8::internal::HeapAllocator::CollectGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CollectGarbageWithRetry | ( | AllocationSpace | space, |
| GCFlags | gc_flags, | ||
| GarbageCollectionReason | gc_reason, | ||
| const GCCallbackFlags | gc_callback_flags | ||
| ) |
Definition at line 2198 of file heap.cc.
References CollectAllAvailableGarbage(), CollectGarbage(), current_gc_flags_, DCHECK_EQ, v8::internal::kLastResort, v8::internal::kNo, v8::internal::kYes, v8::internal::NEW_SPACE, v8::internal::OLD_SPACE, ReachedHeapLimit(), space(), and v8::internal::v8_flags.
Referenced by CollectGarbageForBackground().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::CollectionRequested | ( | ) |
Definition at line 2194 of file heap.cc.
References collection_barrier_.
Referenced by CheckCollectionRequested(), HandleGCRequest(), and ShouldExpandOldGenerationOnSlowAllocation().
Here is the caller graph for this function:| size_t v8::internal::Heap::CommittedMemory | ( | ) |
Definition at line 364 of file heap.cc.
References CommittedOldGenerationMemory(), HasBeenSetUp(), new_lo_space_, new_space_, and v8::internal::LargeObjectSpace::Size().
Referenced by ActivateMemoryReducerIfNeededOnMainThread(), CollectGarbageOnMemoryPressure(), GarbageCollectionEpilogue(), PrintShortHeapStatistics(), and UpdateMaximumCommitted().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::CommittedMemoryExecutable | ( | ) |
Definition at line 385 of file heap.cc.
References HasBeenSetUp(), memory_allocator(), and v8::internal::MemoryAllocator::SizeExecutable().
Here is the call graph for this function:| size_t v8::internal::Heap::CommittedOldGenerationMemory | ( | ) |
Definition at line 348 of file heap.cc.
References code_lo_space_, v8::internal::BaseSpace::CommittedMemory(), HasBeenSetUp(), lo_space_, v8::internal::PagedSpaceIterator::Next(), shared_lo_space_, v8::internal::LargeObjectSpace::Size(), space(), and trusted_lo_space_.
Referenced by CollectGarbage(), CommittedMemory(), HasHighFragmentation(), and v8::internal::MemoryReducer::NotifyMarkCompact().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::CommittedPhysicalMemory | ( | ) |
Definition at line 374 of file heap.cc.
References HasBeenSetUp(), and v8::internal::SpaceIterator::HasNext().
Here is the call graph for this function:
|
private |
Definition at line 6557 of file heap.cc.
References v8::internal::DCHECK(), v8::internal::TaggedImpl< kRefType, StorageType >::IsCleared(), v8::internal::IsSmi(), v8::internal::TaggedImpl< kRefType, StorageType >::IsWeak(), kRetainMapEntrySize, v8::internal::length, ReadOnlyRoots, and v8::internal::undefined.
Referenced by AddRetainedMaps().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CompactWeakArrayLists | ( | ) |
Definition at line 6488 of file heap.cc.
References v8::internal::PrototypeUsers::Compact(), v8::internal::anonymous_namespace{heap.cc}::CompactWeakArrayList(), v8::internal::DCHECK(), v8::internal::handle(), InOldSpace(), v8::internal::Tagged< HeapObject >::is_null(), isolate(), v8::internal::kOld, v8::internal::HeapObjectIterator::Next(), v8::internal::JSObject::PrototypeRegistryCompactionCallback(), and ReadOnlyRoots.
Referenced by v8::internal::SnapshotCreatorImpl::CreateBlob().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CompleteSweepingFull | ( | ) |
Definition at line 2022 of file heap.cc.
References cpp_heap(), v8::internal::DCHECK(), DCHECK_IMPLIES, EnsureSweepingCompleted(), v8::internal::CppHeap::From(), kUnifiedHeap, sweeper(), sweeping_in_progress(), and tracer().
Referenced by v8::internal::HeapSnapshotGenerator::GenerateSnapshot(), PerformGarbageCollection(), StartIncrementalMarking(), and StartTearDown().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CompleteSweepingYoung | ( | ) |
Definition at line 2523 of file heap.cc.
References cpp_heap(), v8::internal::DCHECK(), EnsureYoungSweepingCompleted(), FinishSweepingIfOutOfWork(), v8::internal::CppHeap::From(), cppgc::internal::HeapBase::generational_gc_supported(), and v8::internal::v8_flags.
Referenced by PerformGarbageCollection(), and StartIncrementalMarking().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3804 of file heap.cc.
References v8::internal::anonymous_namespace{heap.cc}::ComputeMutatorUtilizationImpl(), isolate(), v8::base::internal::result, and v8::internal::v8_flags.
Referenced by HasLowEmbedderAllocationRate(), HasLowOldGenerationAllocationRate(), and HasLowYoungGenerationAllocationRate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticprivate |
Definition at line 2561 of file heap.cc.
References v8::internal::MemoryController< Trait >::BoundAllocationLimit(), v8::internal::DCHECK(), DCHECK_GT, v8::internal::MemoryController< Trait >::GrowingFactor(), v8::internal::BaseControllerTrait::kConservativeGrowingFactor, mode(), and v8::internal::v8_flags.
Referenced by EnsureSweepingCompleted(), RecomputeLimits(), and RecomputeLimitsAfterLoadingIfNeeded().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1125 of file heap.h.
Referenced by v8::internal::PagedNewSpaceAllocatorPolicy::EnsureAllocation(), v8::internal::IncrementalMarking::FetchBytesMarkedConcurrently(), v8::internal::MarkCompactCollector::FinishConcurrentMarking(), v8::internal::MinorMarkSweepCollector::FinishConcurrentMarking(), v8::internal::MinorMarkSweepCollector::MarkLiveObjects(), v8::internal::MarkCompactCollector::MaybeEnableBackgroundThreadsInCycle(), PauseConcurrentThreadsInClients(), v8::internal::IncrementalMarking::StartMarkingMajor(), v8::internal::IncrementalMarking::StartMarkingMinor(), StartTearDown(), v8::internal::IncrementalMarking::Step(), TearDown(), and v8::internal::MinorMarkSweepCollector::TearDown().
Here is the caller graph for this function:| void v8::internal::Heap::ConfigureHeap | ( | const v8::ResourceConstraints & | constraints, |
| v8::CppHeap * | cpp_heap | ||
| ) |
Definition at line 5109 of file heap.cc.
References ALIGN_TO_ALLOCATION_ALIGNMENT, AllocatorLimitOnMaxOldGenerationSize(), AttachCppHeap(), CHECK, CHECK_IMPLIES, code_range_size_, v8::ResourceConstraints::code_range_size_in_bytes(), configured_, cpp_heap(), v8::internal::DCHECK(), DCHECK_GE, DCHECK_LE, DefaultInitialOldGenerationSize(), DefaultMaxSemiSpaceSize(), DefaultMinSemiSpaceSize(), v8::internal::CppHeap::From(), GenerationSizesFromHeapSize(), v8::internal::anonymous_namespace{heap.cc}::GlobalMemorySizeFromV8Size(), heap_profiler_, initial_max_old_generation_size_, initial_old_generation_size_, v8::ResourceConstraints::initial_old_generation_size_in_bytes(), initial_semispace_size_, initial_size_overwritten_, v8::ResourceConstraints::initial_young_generation_size_in_bytes(), v8::internal::JSArray::kInitialMaxFastElementArray, v8::internal::kMaxRegularHeapObjectSize, v8::internal::kSystemPointerSize, max_old_generation_size(), v8::ResourceConstraints::max_old_generation_size_in_bytes(), max_semi_space_size_, v8::ResourceConstraints::max_young_generation_size_in_bytes(), v8::internal::MB, min_global_memory_size_, min_old_generation_size_, min_semi_space_size_, MinOldGenerationSize(), owning_cpp_heap_, preconfigured_old_generation_size_, ResetOldGenerationAndGlobalAllocationLimit(), v8::base::bits::RoundUpToPowerOfTwo64(), SemiSpaceSizeFromYoungGenerationSize(), SetOldGenerationAndGlobalMaximumSize(), v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >::SizeFor(), v8::internal::v8_flags, and YoungGenerationSizeFromSemiSpaceSize().
Referenced by ConfigureHeapDefault(), v8::Isolate::Initialize(), and v8::internal::SnapshotCreatorImpl::SnapshotCreatorImpl().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::ConfigureHeapDefault | ( | ) |
Definition at line 5320 of file heap.cc.
References ConfigureHeap().
Referenced by SetUp().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 387 of file heap.h.
References v8::internal::v8_flags.
Referenced by IterateConservativeStackRoots(), and v8::internal::MarkCompactCollector::StartCompaction().
Here is the caller graph for this function:
|
inline |
Definition at line 378 of file heap.h.
References v8::internal::v8_flags.
Referenced by v8::internal::ScavengerCollector::CollectGarbage(), and v8::internal::anonymous_namespace{scavenger.cc}::YoungGenerationConservativeStackVisitor::YoungGenerationConservativeStackVisitor().
Here is the caller graph for this function:| bool v8::internal::Heap::Contains | ( | Tagged< HeapObject > | value | ) | const |
Definition at line 4481 of file heap.cc.
References code_lo_space_, code_space_, v8::internal::PagedSpaceBase::Contains(), v8::internal::ReadOnlyHeap::Contains(), v8::internal::LargeObjectSpace::Contains(), v8::internal::NewSpace::Contains(), HasBeenSetUp(), lo_space_, memory_allocator(), new_lo_space_, new_space_, old_space_, shared_lo_space_, shared_space_, shared_trusted_lo_space_, shared_trusted_space_, trusted_lo_space_, trusted_space_, and v8::internal::value.
Referenced by v8::internal::SnapshotCreatorImpl::AddContext(), v8::internal::SnapshotCreatorImpl::AddData(), v8::internal::MinorMarkSweepCollector::DrainMarkingWorklist(), v8::internal::MarkCompactCollector::MarkObject(), v8::internal::MarkCompactCollector::MarkRootObject(), and v8::internal::SnapshotCreatorImpl::SetDefaultContext().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::ContainsCode | ( | Tagged< HeapObject > | value | ) | const |
Definition at line 4504 of file heap.cc.
References code_lo_space_, code_space_, v8::internal::PagedSpaceBase::Contains(), v8::internal::LargeObjectSpace::Contains(), v8::internal::EXECUTABLE, HasBeenSetUp(), memory_allocator(), and v8::internal::value.
Here is the call graph for this function:Definition at line 292 of file heap-inl.h.
References v8::internal::CopyTagged(), v8::internal::DCHECK(), IsAligned(), and v8::internal::kTaggedSize.
Referenced by v8::internal::Factory::CopyFixedDoubleArray(), v8::internal::Factory::CopyJSObjectWithAllocationSite(), v8::internal::anonymous_namespace{read-only-promotion.cc}::ReadOnlyPromotionImpl::CopyToReadOnlyHeap(), v8::internal::Scavenger::MigrateObject(), and v8::internal::EvacuateVisitorBase::RawMigrateObject().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CopyRange | ( | Tagged< HeapObject > | dst_object, |
| const TSlot | dst_slot, | ||
| const TSlot | src_slot, | ||
| int | len, | ||
| WriteBarrierMode | mode | ||
| ) |
Definition at line 2164 of file heap.cc.
References v8::internal::anonymous_namespace{heap.cc}::CopyOrMoveRangeImpl(), v8::internal::DCHECK(), v8::internal::kTaggedSize, v8::internal::MemCopy(), and mode().
Here is the call graph for this function:| V8_EXPORT_PRIVATE void v8::internal::Heap::CopyRange | ( | Tagged< HeapObject > | dst_object, |
| TSlot | dst_slot, | ||
| TSlot | src_slot, | ||
| int | len, | ||
| WriteBarrierMode | mode | ||
| ) |
Referenced by v8::internal::ScopeInfo::CopyElements(), v8::internal::WeakArrayList::CopyElements(), v8::internal::TaggedArrayBase< Derived, ShapeT, Super >::CopyElements(), v8::internal::PropertyArray::CopyElements(), v8::internal::RUNTIME_FUNCTION(), and v8::internal::ArrayList::ToFixedArray().
Here is the caller graph for this function:
|
inline |
Definition at line 1167 of file heap.h.
Referenced by AttachCppHeap(), CollectAllAvailableGarbage(), CollectGarbage(), CompleteSweepingFull(), CompleteSweepingYoung(), ConfigureHeap(), v8::internal::IncrementalMarking::CppHeapStep(), EnsureSweepingCompleted(), FinishSweepingIfOutOfWork(), v8::Isolate::GetCppHeap(), v8::internal::TracedHandles::GetCppHeapIfUnifiedYoungGC(), v8::internal::IncrementalMarking::GetScheduledBytes(), IncrementalMarkingLimitReached(), v8::internal::MinorMarkSweepCollector::MarkLiveObjects(), v8::internal::GCTracer::NotifyFullCppGCCompleted(), v8::internal::GCTracer::NotifyYoungCppGCCompleted(), PerformGarbageCollection(), v8::internal::TracedHandles::ProcessWeakYoungObjects(), v8::internal::GCTracer::ReportFullCycleToRecorder(), v8::internal::GCTracer::ReportIncrementalMarkingStepToRecorder(), v8::internal::GCTracer::ReportYoungCycleToRecorder(), v8::internal::ConcurrentMarking::RunMajor(), v8::internal::IncrementalMarking::ShouldFinalize(), v8::internal::MarkCompactCollector::StartMarking(), v8::internal::GCTracer::StopFullCycleIfFinished(), and v8::internal::GCTracer::StopYoungCycleIfFinished().
Here is the caller graph for this function:| std::unique_ptr< v8::MeasureMemoryDelegate > v8::internal::Heap::CreateDefaultMeasureMemoryDelegate | ( | v8::Local< v8::Context > | context, |
| v8::Local< v8::Promise::Resolver > | promise, | ||
| v8::MeasureMemoryMode | mode | ||
| ) |
Definition at line 4440 of file heap.cc.
References v8::internal::MemoryMeasurement::DefaultDelegate(), isolate_, and mode().
Referenced by v8::MeasureMemoryDelegate::Default().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 342 of file setup-heap-internal.cc.
References Allocate(), ALLOCATE_AND_SET_ROOT, ALLOCATE_MAP, ALLOCATE_PARTIAL_MAP, ALLOCATE_VARSIZE_MAP, AllocatePartialMap(), AllocateRaw(), v8::internal::BIGINT_TYPE, code, v8::internal::DCHECK(), DCHECK_NE, FinalizePartialMap(), v8::internal::Smi::FromInt(), v8::internal::HOLEY_DOUBLE_ELEMENTS, v8::internal::anonymous_namespace{setup-heap-internal.cc}::InitializePartialMap(), v8::internal::HeapLayout::InYoungGeneration(), v8::internal::anonymous_namespace{setup-heap-internal.cc}::is_important_struct(), isolate(), v8::internal::FeedbackCell::kAlignedSize, v8::internal::Name::kEmptyHashField, v8::internal::Oddball::kFalse, v8::internal::DescriptorArrayMarkingState::kInitialGCState, v8::internal::DescriptorArray::kJsonFast, v8::internal::Oddball::kNull, v8::internal::Map::kPrototypeChainInvalid, v8::internal::kReadOnly, v8::internal::Hole::kSize, v8::internal::anonymous_namespace{setup-heap-internal.cc}::kStringTypeTable, v8::internal::anonymous_namespace{setup-heap-internal.cc}::kStructTable, v8::internal::kTaggedSize, v8::internal::Oddball::kTrue, v8::internal::Oddball::kUndefined, v8::internal::kVariableSizeSentinel, v8::internal::ReadOnlyRoots::object_at(), v8::internal::TaggedImpl< kRefType, StorageType >::ptr(), roots_table(), size(), v8::internal::TaggedArrayBase< WeakFixedArray, WeakFixedArrayShape >::SizeFor(), v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >::SizeFor(), v8::internal::DescriptorArray::SizeFor(), v8::internal::SeqOneByteString::SizeFor(), v8::internal::WeakArrayList::SizeForCapacity(), v8::internal::SKIP_WRITE_BARRIER, v8::internal::AllocationResult::To(), and v8::internal::value.
Referenced by CreateReadOnlyHeapObjects().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CreateFillerObjectAt | ( | Address | addr, |
| int | size, | ||
| ClearFreedMemoryMode | clear_memory_mode = ClearFreedMemoryMode::kDontClearFreedMemory |
||
| ) |
Definition at line 3348 of file heap.cc.
References CreateFillerObjectAtRaw(), v8::internal::WritableFreeSpace::ForNonExecutableMemory(), v8::internal::WritableJitPage::FreeRange(), v8::internal::MemoryChunk::FromAddress(), v8::internal::kNo, kYes, and size().
Referenced by v8::internal::LargeObjectSpace::AdvanceAndInvokeAllocationObservers(), v8::internal::MainAllocator::AlignTopForTesting(), v8::internal::SemiSpace::AllocateFreshPage(), CreateReadOnlyObjects(), v8::internal::anonymous_namespace{read-only-promotion.cc}::ReadOnlyPromotionImpl::DeleteDeadObjects(), v8::internal::ReadOnlySpace::EnsureSpaceForAllocation(), v8::internal::ReadOnlySpace::FinalizeSpaceForDeserialization(), v8::internal::EvacuationAllocator::FreeLastInMainAllocator(), v8::internal::ReadOnlySpace::FreeLinearAllocationArea(), v8::internal::TranslatedValue::GetRawValue(), v8::internal::MainAllocator::InvokeAllocationObservers(), v8::internal::MainAllocator::MakeLinearAllocationAreaIterable(), PrecedeWithFiller(), v8::internal::ReadOnlySpace::RepairFreeSpacesAfterDeserialization(), v8::internal::ReadOnlySpace::ShrinkPages(), v8::internal::ReadOnlyPageMetadata::ShrinkToHighWaterMark(), StaticRootsEnsureAllocatedSize(), v8::internal::PagedSpaceAllocatorPolicy::TryAllocationFromFreeList(), and v8::internal::PagedSpaceAllocatorPolicy::TryExtendLAB().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CreateFillerObjectAtBackground | ( | const WritableFreeSpace & | free_space | ) |
Definition at line 3339 of file heap.cc.
References CreateFillerObjectAtRaw(), v8::internal::kDontClearFreedMemory, v8::internal::kNo, and kNo.
Referenced by AlignWithFillerBackground(), and PrecedeWithFillerBackground().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3366 of file heap.cc.
References v8::internal::WritableFreeSpace::Address(), ClearRecordedSlotRange(), v8::internal::anonymous_namespace{heap.cc}::CreateFillerObjectAtImpl(), v8::internal::kYes, kYes, v8::internal::WritableFreeSpace::Size(), size(), and v8::internal::anonymous_namespace{heap.cc}::VerifyNoNeedToClearSlots().
Referenced by CreateFillerObjectAt(), CreateFillerObjectAtBackground(), LeftTrimFixedArray(), and NotifyObjectSizeChange().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 918 of file setup-heap-internal.cc.
References v8::internal::OrderedNameDictionary::AllocateEmpty(), AllocateRaw(), v8::internal::DCHECK(), DCHECK_EQ, v8::internal::Isolate::factory(), v8::internal::flags, IMPORTANT_PRIVATE_SYMBOL_LIST_GENERATOR, InitializeHashSeed(), v8::internal::StringTable::InsertEmptyStringForBootstrapping(), v8::internal::Factory::InternalizeString(), isolate(), v8::internal::kHoleNanInt64, v8::internal::anonymous_namespace{setup-heap-internal.cc}::kImportantConstantStringTable, v8::internal::kInt64Size, v8::internal::kMaxSafeInteger, v8::internal::kMaxUInt32, v8::internal::kReadOnly, v8::kRelaxedStore, v8::internal::kSloppy, v8::internal::kSmiMinValue, v8::internal::ScopeInfo::kVariablePartIndex, v8::internal::NameDictionary::New(), v8::internal::FactoryBase< Impl >::NewByteArray(), v8::internal::FactoryBase< Impl >::NewHeapNumber(), v8::internal::FactoryBase< Impl >::NewHeapNumberFromBits(), v8::internal::NONE, v8::internal::Object::NumberValue(), roots_table(), v8::internal::TaggedArrayBase< FixedArray, TaggedArrayShape >::SizeFor(), v8::internal::PrimitiveArrayBase< ByteArray, ByteArrayShape >::SizeFor(), v8::internal::ScopeInfo::SizeFor(), v8::internal::SKIP_WRITE_BARRIER, v8::internal::Isolate::string_table(), SYMBOL_INIT, v8::internal::AllocationResult::To(), v8::internal::USE_CUSTOM_MINIMUM_CAPACITY, and V8_INFINITY.
Referenced by CreateReadOnlyHeapObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1404 of file setup-heap-internal.cc.
References v8::internal::CompilationCache::Clear(), v8::internal::DescriptorLookupCache::Clear(), v8::internal::Isolate::compilation_cache(), v8::internal::ApiNatives::CreateAccessorFunctionTemplateInfo(), v8::internal::anonymous_namespace{setup-heap-internal.cc}::CreateSharedFunctionInfo(), v8::internal::Isolate::descriptor_lookup_cache(), v8::internal::Isolate::factory(), v8::internal::Smi::FromInt(), isolate(), isolate_, v8::internal::kConciseMethod, v8::kHasSideEffect, v8::kHasSideEffectToReceiver, v8::internal::SmiStringCache::kInitialSize, v8::internal::DoubleStringCache::kInitialSize, v8::internal::Script::kNative, v8::internal::DebugInfo::kNoDebuggingId, v8::UnboundScript::kNoScriptId, v8::internal::kOld, v8::internal::RegExpResultsCache::kRegExpResultsCacheSize, v8::internal::RegExpResultsCache_MatchGlobalAtom::kSize, v8::internal::TemplateInfo::kUninitializedSerialNumber, v8::internal::TrustedWeakFixedArray::New(), v8::internal::ProtectedWeakFixedArray::New(), v8::internal::SmiStringCache::New(), v8::internal::DoubleStringCache::New(), v8::internal::TrustedFixedArray::New(), v8::internal::TrustedByteArray::New(), v8::internal::ProtectedFixedArray::New(), v8::internal::FactoryBase< Impl >::NewFixedArray(), v8::internal::Factory::NewProtector(), v8::internal::FactoryBase< Impl >::NewScript(), v8::internal::script, v8::internal::FunctionTemplateInfo::SealAndPrepareForPromotionToReadOnly(), and v8::internal::Smi::zero().
Referenced by CreateMutableHeapObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1734 of file setup-heap-internal.cc.
References ACCESSOR_INFO_LIST_GENERATOR, INIT_ACCESSOR_INFO, INIT_SIDE_EFFECT_FLAG, and isolate().
Referenced by CreateMutableHeapObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 823 of file setup-heap-internal.cc.
References v8::internal::ALL_ATTRIBUTES_MASK, ALLOCATE_ALWAYS_SHARED_SPACE_JSOBJECT_MAP, ALLOCATE_MAP, AllocateMap(), v8::internal::FieldType::Any(), v8::internal::Descriptor::DataField(), v8::internal::Isolate::factory(), isolate(), v8::internal::kConst, v8::internal::JSSharedArray::kInObjectFieldCount, v8::internal::JSSharedArray::kLengthFieldIndex, v8::internal::kReadOnly, v8::internal::JSSharedArray::kSize, v8::internal::FactoryBase< Impl >::NewDescriptorArray(), v8::internal::AlwaysSharedSpaceJSObject::PrepareMapNoEnumerableProperties(), v8::internal::SHARED_ARRAY_ELEMENTS, and v8::internal::Representation::Smi().
Referenced by CreateReadOnlyHeapObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 726 of file setup-heap-internal.cc.
References ALLOCATE_MAP, ALLOCATE_VARSIZE_MAP, AllocateMap(), IF_WASM, v8::internal::anonymous_namespace{setup-heap-internal.cc}::is_important_struct(), v8::internal::kReadOnly, v8::internal::anonymous_namespace{setup-heap-internal.cc}::kStructTable, v8::internal::kVariableSizeSentinel, v8::internal::TaggedImpl< kRefType, StorageType >::ptr(), roots_table(), v8::internal::AllocationResult::To(), TORQUE_ALLOCATE_MAP, and TORQUE_ALLOCATE_VARSIZE_MAP.
Referenced by CreateReadOnlyHeapObjects().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::CreateMutableApiObjects | ( | ) |
Definition at line 1388 of file setup-heap-internal.cc.
References isolate(), v8::internal::kOld, and v8::internal::ArrayList::New().
Referenced by CreateMutableHeapObjects().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::CreateMutableHeapObjects | ( | ) |
Definition at line 233 of file setup-heap-internal.cc.
References CHECK_EQ, CreateInitialMutableObjects(), CreateInternalAccessorInfoObjects(), CreateMutableApiObjects(), gc_count_, v8::internal::NewSpace::MakeIterable(), new_space(), set_allocation_sites_list(), set_dirty_js_finalization_registries_list(), set_dirty_js_finalization_registries_list_tail(), and set_native_contexts_list().
Here is the call graph for this function:| void v8::internal::Heap::CreateObjectStats | ( | ) |
Definition at line 7279 of file heap.cc.
References dead_object_stats_, v8::internal::TracingFlags::is_gc_stats_enabled(), live_object_stats_, and V8_LIKELY.
Here is the call graph for this function:| void v8::internal::Heap::CreateReadOnlyApiObjects | ( | ) |
Definition at line 1393 of file setup-heap-internal.cc.
References v8::internal::Isolate::factory(), isolate(), v8::internal::kReadOnly, v8::internal::kSystemPointerSize, v8::internal::kTaggedSize, v8::internal::Factory::NewInterceptorInfo(), and StaticRootsEnsureAllocatedSize().
Referenced by CreateReadOnlyHeapObjects().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::CreateReadOnlyHeapObjects | ( | ) |
Definition at line 197 of file setup-heap-internal.cc.
References v8::internal::V8HeapCompressionSchemeImpl< Cage >::CompressAny(), CreateEarlyReadOnlyMapsAndObjects(), CreateImportantReadOnlyObjects(), CreateLateReadOnlyJSReceiverMaps(), CreateLateReadOnlyNonJSReceiverMaps(), CreateReadOnlyApiObjects(), CreateReadOnlyObjects(), v8::internal::DCHECK(), DCHECK_LT, v8::internal::Isolate::heap(), v8::internal::ReadOnlyRoots::is_initialized(), isolate(), v8::internal::kFirstReadOnlyRoot, v8::internal::kLastReadOnlyRoot, read_only_space(), v8::internal::ReadOnlySpace::top(), and USE.
Here is the call graph for this function:
|
private |
Definition at line 1044 of file setup-heap-internal.cc.
References v8::internal::Tagged< HeapObject >::address(), Allocate(), ALLOCATE_SYMBOL_STRING, v8::internal::OrderedHashSet::AllocateEmpty(), v8::internal::OrderedHashMap::AllocateEmpty(), AllocateRaw(), v8::internal::HeapAllocator::AllocateRawWith(), allocator(), arraysize, CHECK, CHECK_EQ, CHECK_IMPLIES, v8::internal::ReadOnlyHeap::Contains(), v8::internal::Factory::CreateCanonicalEmptySwissNameDictionary(), CreateFillerObjectAt(), v8::internal::ScopeInfo::CreateForEmptyFunction(), v8::internal::ScopeInfo::CreateForNativeContext(), v8::internal::ScopeInfo::CreateForShadowRealmNativeContext(), v8::internal::ScopeInfo::CreateGlobalThisBinding(), v8::internal::DCHECK(), v8::internal::direct_handle(), ENSURE_SINGLE_CHAR_STRINGS_ARE_SINGLE_CHAR, v8::internal::ReadOnlySpace::EnsureSpaceForAllocation(), v8::internal::Isolate::factory(), v8::internal::Smi::FromInt(), v8::internal::anonymous_namespace{json-stringifier.cc}::i, v8::internal::Hole::Initialize(), v8::internal::Oddball::Initialize(), INTERNALIZED_STRING_FOR_PROTECTOR_LIST_GENERATOR, INTERNALIZED_STRING_INIT, v8::internal::Factory::InternalizeString(), v8::internal::IntToStringView(), v8::internal::HeapLayout::InYoungGeneration(), isolate(), v8::internal::KB, v8::internal::kClearFreedMemory, v8::internal::Oddball::kFalse, v8::internal::HeapObject::kMapOffset, kMinimumOSPageSize, v8::internal::anonymous_namespace{setup-heap-internal.cc}::kNotImportantConstantStringTable, v8::internal::Oddball::kNull, v8::internal::kObjectAlignment, v8::internal::kPreallocatedNumberStringTableSize, v8::internal::kReadOnly, v8::internal::HeapAllocator::kRetryOrFail, v8::internal::kRuntime, v8::internal::WasmNull::kSize, v8::internal::kTaggedAligned, v8::internal::kTaggedSize, v8::internal::Oddball::kTrue, v8::internal::Oddball::kUndefined, v8::internal::length, v8::internal::anonymous_namespace{intl-objects.cc}::New(), v8::internal::Factory::NewContextCell(), v8::internal::FactoryBase< Impl >::NewFeedbackMetadata(), v8::internal::FactoryBase< Impl >::NewFixedArray(), v8::internal::Factory::NewHole(), v8::internal::Factory::NewManyClosuresCell(), NOT_IMPORTANT_PRIVATE_SYMBOL_LIST_GENERATOR, v8::internal::ReadOnlyRoots::object_at(), v8::base::OneByteVector(), v8::internal::PACKED_SMI_ELEMENTS, PUBLIC_SYMBOL_FOR_PROTECTOR_LIST_GENERATOR, PUBLIC_SYMBOL_INIT, PUBLIC_SYMBOL_LIST_GENERATOR, v8::internal::Factory::read_only_roots(), read_only_space_, roots_table(), RoundUp(), SINGLE_CHARACTER_INTERNALIZED_STRING_LIST_GENERATOR, v8::internal::RootsTable::SingleCharacterStringIndex(), v8::internal::TaggedArrayBase< ArrayList, ArrayListShape >::SizeFor(), v8::internal::TaggedArrayBase< ObjectBoilerplateDescription, ObjectBoilerplateDescriptionShape >::SizeFor(), v8::internal::TaggedArrayBase< ClosureFeedbackCellArray, ClosureFeedbackCellArrayShape >::SizeFor(), v8::internal::SKIP_WRITE_BARRIER, StaticRootsEnsureAllocatedSize(), SYMBOL_FOR_PROTECTOR_LIST_GENERATOR, SYMBOL_INIT, v8::internal::AllocationResult::To(), v8::internal::ReadOnlySpace::top(), v8::internal::USE_CUSTOM_MINIMUM_CAPACITY, V8_STATIC_ROOTS_BOOL, V8_STATIC_ROOTS_GENERATION_BOOL, v8::internal::ReadOnlyRoots::VerifyNameForProtectorsPages(), WELL_KNOWN_SYMBOL_FOR_PROTECTOR_LIST_GENERATOR, WELL_KNOWN_SYMBOL_INIT, WELL_KNOWN_SYMBOL_LIST_GENERATOR, and v8::internal::Smi::zero().
Referenced by CreateReadOnlyHeapObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
private |
Definition at line 5578 of file heap.cc.
References kConservative, kDefault, kMinimal, kSlow, memory_reducer(), ShouldOptimizeForMemoryUsage(), ShouldReduceMemory(), and v8::internal::v8_flags.
Referenced by ShrinkOldGenerationAllocationLimitIfNotConfigured().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::DeactivateMajorGCInProgressFlag | ( | ) |
Definition at line 3756 of file heap.cc.
References code_lo_space(), code_space(), v8::internal::DCHECK(), DCHECK_NULL, isolate(), lo_space(), new_space(), old_space(), shared_lo_space(), shared_space(), space(), trusted_lo_space(), trusted_space(), and v8::internal::v8_flags.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 409 of file heap-inl.h.
References backing_store_bytes_.
Referenced by v8::internal::Space::DecrementExternalBackingStoreBytes(), and v8::internal::ArrayBufferSweeper::DecrementExternalMemoryCounters().
Here is the caller graph for this function:
|
static |
Definition at line 5089 of file heap.cc.
References HeapLimitMultiplier(), and v8::internal::MB.
Referenced by v8::internal::MemoryController< Trait >::MaxGrowingFactor(), MaxOldGenerationSizeFromPhysicalMemory(), and OldGenerationToSemiSpaceRatio().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 5086 of file heap.cc.
References HeapLimitMultiplier(), and v8::internal::MB.
Referenced by HeapSizeFromPhysicalMemory(), and v8::internal::MemoryController< Trait >::MaxGrowingFactor().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 5047 of file heap.cc.
References HeapLimitMultiplier(), and v8::internal::MB.
Referenced by ConfigureHeap().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 5062 of file heap.cc.
References v8::internal::MutablePageMetadata::kPageSize, kPointerMultiplier, v8::internal::MB, RoundUp(), and v8::internal::v8_flags.
Referenced by AllocateExternalBackingStore(), AllocatorLimitOnMaxOldGenerationSize(), ConfigureHeap(), OldGenerationToSemiSpaceRatio(), and YoungGenerationSizeFromOldGenerationSize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 5057 of file heap.cc.
References v8::internal::KB, v8::internal::MutablePageMetadata::kPageSize, kPointerMultiplier, and RoundUp().
Referenced by ConfigureHeap(), MinYoungGenerationSize(), and YoungGenerationSizeFromOldGenerationSize().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::DeoptMarkedAllocationSites | ( | ) |
Definition at line 1044 of file heap.cc.
References allocation_sites_list(), v8::internal::Deoptimizer::DeoptimizeMarkedCode(), ForeachAllocationSite(), and isolate_.
Referenced by v8::internal::StackGuard::HandleInterrupts().
Here is the call graph for this function:
Here is the caller graph for this function:| MaybeDirectHandle< JSFinalizationRegistry > v8::internal::Heap::DequeueDirtyJSFinalizationRegistry | ( | ) |
Definition at line 7080 of file heap.cc.
References dirty_js_finalization_registries_list(), dirty_js_finalization_registries_list_tail(), HasDirtyJSFinalizationRegistries(), isolate(), ReadOnlyRoots, set_dirty_js_finalization_registries_list(), and set_dirty_js_finalization_registries_list_tail().
Referenced by v8::internal::FinalizationRegistryCleanupTask::RunInternal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 681 of file heap.h.
Referenced by v8::internal::IncrementalMarking::CanBeStarted(), IsPendingAllocationInternal(), v8::internal::LocalHeap::LocalHeap(), NotifyOldGenerationExpansion(), PauseConcurrentThreadsInClients(), ShouldExpandOldGenerationOnSlowAllocation(), ShouldExpandYoungGenerationOnSlowAllocation(), and v8::internal::StressConcurrentAllocationObserver::Step().
Here is the caller graph for this function:| void v8::internal::Heap::DetachArrayBufferExtension | ( | ArrayBufferExtension * | extension | ) |
Definition at line 4395 of file heap.cc.
References array_buffer_sweeper_.
Referenced by v8::internal::JSArrayBuffer::DetachInternal().
Here is the caller graph for this function:Definition at line 521 of file heap.h.
Referenced by v8::internal::StartupSerializer::CheckNoDirtyFinalizationRegistries(), DequeueDirtyJSFinalizationRegistry(), EnqueueDirtyJSFinalizationRegistry(), HasDirtyJSFinalizationRegistries(), ProcessDirtyJSFinalizationRegistries(), ProcessWeakListRoots(), and RemoveDirtyFinalizationRegistriesOnContext().
Here is the caller graph for this function:Definition at line 527 of file heap.h.
Referenced by v8::internal::StartupSerializer::CheckNoDirtyFinalizationRegistries(), DequeueDirtyJSFinalizationRegistry(), EnqueueDirtyJSFinalizationRegistry(), and ProcessWeakListRoots().
Here is the caller graph for this function:| void v8::internal::Heap::DisableInlineAllocation | ( | ) |
Definition at line 5738 of file heap.cc.
References FreeMainThreadLinearAllocationAreas(), and inline_allocation_enabled_.
Referenced by AddHeapObjectAllocationTracker(), and v8::internal::Isolate::Init().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::DumpJSONHeapStatistics | ( | std::stringstream & | stream | ) |
Definition at line 753 of file heap.cc.
References v8::internal::CODE_LO_SPACE, v8::internal::CODE_SPACE, DICT, v8::HeapStatistics::external_memory(), gc_count(), v8::HeapStatistics::heap_size_limit(), isolate(), LIST, v8::internal::LO_SPACE, v8::HeapStatistics::malloced_memory(), MEMBER, v8::internal::NEW_LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_SPACE, v8::HeapStatistics::peak_malloced_memory(), v8::HeapSpaceStatistics::physical_space_size(), QUOTE, v8::internal::RO_SPACE, v8::HeapSpaceStatistics::space_available_size(), v8::HeapSpaceStatistics::space_size(), v8::HeapSpaceStatistics::space_used_size(), v8::internal::ToString(), v8::HeapStatistics::total_available_size(), v8::HeapStatistics::total_heap_size(), v8::HeapStatistics::total_heap_size_executable(), v8::HeapStatistics::total_physical_size(), v8::internal::TRUSTED_LO_SPACE, v8::internal::TRUSTED_SPACE, and v8::HeapStatistics::used_heap_size().
Referenced by v8::internal::GCTracer::StopObservablePause().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 4351 of file heap.cc.
References v8::internal::anonymous_namespace{heap.cc}::CompleteArrayBufferSweeping(), v8::internal::wasm::WasmEngine::FlushLiftoffCode(), v8::internal::wasm::GetWasmEngine(), and v8::internal::v8_flags.
Referenced by CollectAllAvailableGarbage(), and CollectGarbageOnMemoryPressure().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::EmbedderAllocationCounter | ( | ) | const |
Definition at line 7275 of file heap.cc.
References v8::internal::CppHeap::allocated_size(), cpp_heap_, and v8::internal::CppHeap::From().
Referenced by v8::internal::GCTracer::StartInSafepoint().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::EmbedderSizeOfObjects | ( | ) | const |
Definition at line 5419 of file heap.cc.
References cpp_heap_, v8::internal::CppHeap::From(), and v8::internal::CppHeap::used_size().
Referenced by GlobalSizeOfObjects(), v8::internal::IncrementalMarking::IsBelowActivationThresholds(), MarkCompact(), and RecomputeLimitsAfterLoadingIfNeeded().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::EnableInlineAllocation | ( | ) |
Definition at line 5736 of file heap.cc.
References inline_allocation_enabled_.
Referenced by RemoveHeapObjectAllocationTracker().
Here is the caller graph for this function:| void v8::internal::Heap::EnqueueDirtyJSFinalizationRegistry | ( | Tagged< JSFinalizationRegistry > | finalization_registry, |
| std::function< void(Tagged< HeapObject > object, ObjectSlot slot, Tagged< Object > target)> | gc_notify_updated_slot | ||
| ) |
Definition at line 7050 of file heap.cc.
References v8::internal::DCHECK(), dirty_js_finalization_registries_list(), dirty_js_finalization_registries_list_tail(), HasDirtyJSFinalizationRegistries(), isolate(), set_dirty_js_finalization_registries_list(), and set_dirty_js_finalization_registries_list_tail().
Referenced by v8::internal::FinalizationRegistryCleanupTask::RunInternal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3253 of file heap.cc.
References global_allocation_limit(), GlobalConsumedBytes(), v8::internal::anonymous_namespace{heap.cc}::GlobalMemorySizeFromV8Size(), max_global_memory_size_, max_old_generation_size(), min_global_memory_size_, min_old_generation_size(), old_generation_allocation_limit(), old_space(), OldGenerationConsumedBytes(), set_using_initial_limit(), and SetOldGenerationAndGlobalAllocationLimit().
Referenced by NotifyContextDisposed().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::EnsureQuarantinedPagesSweepingCompleted | ( | ) |
Definition at line 7548 of file heap.cc.
References scavenger_collector_, and v8::internal::v8_flags.
Referenced by EnsureSweepingCompleted(), EnsureYoungSweepingCompleted(), and v8::internal::MarkCompactCollector::MarkObjectsFromClientHeap().
Here is the caller graph for this function:| void v8::internal::Heap::EnsureSweepingCompleted | ( | SweepingForcedFinalizationMode | mode | ) |
Definition at line 7474 of file heap.cc.
References code_space(), v8::internal::anonymous_namespace{heap.cc}::CompleteArrayBufferSweeping(), ComputeNewAllocationLimits(), cpp_heap(), v8::internal::DCHECK(), DCHECK_IMPLIES, v8::internal::Sweeper::EnsureMajorCompleted(), EnsureQuarantinedPagesSweepingCompleted(), v8::internal::CppHeap::FinishSweepingIfRunning(), v8::internal::CppHeap::From(), v8::internal::kMain, kUnifiedHeap, major_sweeping_in_progress(), minor_sweeping_in_progress(), mode(), v8::internal::GCTracer::NotifyFullSweepingCompletedAndStopCycleIfFinished(), old_space(), paged_new_space(), v8::internal::PagedNewSpace::paged_space(), v8::internal::PagedSpaceBase::RefillFreeList(), SetOldGenerationAndGlobalAllocationLimit(), shared_space(), shared_trusted_space(), sweeper(), sweeper_, sweeping_in_progress(), TRACE_EVENT_FLAG_FLOW_IN, TRACE_EVENT_FLAG_FLOW_OUT, TRACE_GC_EPOCH_WITH_FLOW, tracer(), trusted_space(), use_new_space(), using_initial_limit(), and v8::internal::v8_flags.
Referenced by CompleteSweepingFull(), FinishSweepingIfOutOfWork(), MakeHeapIterable(), and v8::internal::ReadOnlyHeap::OnCreateHeapObjectsComplete().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::EnsureSweepingCompletedForObject | ( | Tagged< HeapObject > | object | ) |
Definition at line 2543 of file heap.cc.
References v8::internal::MutablePageMetadata::cast(), v8::internal::PageMetadata::cast(), v8::internal::DCHECK(), v8::internal::Sweeper::EnsurePageIsSwept(), v8::internal::MemoryChunk::FromHeapObject(), v8::internal::MemoryChunk::InReadOnlySpace(), v8::internal::MemoryChunk::IsLargePage(), v8::internal::MemoryChunk::Metadata(), sweeper(), sweeping_in_progress(), and v8::internal::MutablePageMetadata::SweepingDone().
Referenced by v8::internal::TranslatedState::InitializeJSObjectAt(), v8::internal::TranslatedState::InitializeObjectWithTaggedFieldsAt(), and v8::internal::FoldedMutableHeapNumberAllocator::~FoldedMutableHeapNumberAllocator().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::EnsureYoungSweepingCompleted | ( | ) |
Definition at line 7555 of file heap.cc.
References v8::internal::anonymous_namespace{heap.cc}::CompleteArrayBufferSweeping(), v8::internal::DCHECK(), v8::internal::Sweeper::EnsureMinorCompleted(), EnsureQuarantinedPagesSweepingCompleted(), v8::internal::kMain, minor_sweeping_in_progress(), v8::internal::GCTracer::NotifyYoungSweepingCompletedAndStopCycleIfFinished(), paged_new_space(), v8::internal::PagedNewSpace::paged_space(), v8::internal::PagedSpaceBase::RefillFreeList(), sweeper(), sweeper_, TRACE_EVENT_FLAG_FLOW_IN, TRACE_GC_EPOCH_WITH_FLOW, tracer(), and v8::internal::v8_flags.
Referenced by CompleteSweepingYoung().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 404 of file heap.h.
Referenced by v8::internal::MinorMarkSweepCollector::ClearNonLiveReferences(), and v8::internal::WriteBarrier::CombinedGenerationalAndSharedEphemeronBarrierSlow().
Here is the caller graph for this function:
|
private |
Definition at line 3094 of file heap.cc.
References v8::internal::kOld, kOldSurvivalRateLowThreshold, v8::internal::PrintF(), ResetAllAllocationSitesDependentCode(), SizeOfObjects(), and v8::internal::v8_flags.
Referenced by MarkCompact().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 4009 of file heap.cc.
References v8::internal::DCHECK(), v8::internal::NewSpace::Grow(), IsAligned(), v8::internal::MutablePageMetadata::kPageSize, v8::internal::NewSpace::MaximumCapacity(), new_lo_space(), new_space(), new_space_, v8::internal::NewLargeObjectSpace::SetCapacity(), v8::internal::NewSpace::TotalCapacity(), and v8::internal::v8_flags.
Referenced by ExpandNewSpaceSizeForTesting(), and ResizeNewSpace().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::ExpandNewSpaceSizeForTesting | ( | ) |
Definition at line 4007 of file heap.cc.
References ExpandNewSpaceSize().
Here is the call graph for this function:
|
inline |
Definition at line 67 of file heap-inl.h.
References external_memory_, and v8::internal::Heap::ExternalMemoryAccounting::total().
Referenced by CollectGarbageOnMemoryPressure(), v8::ExternalMemoryAccounter::GetTotalAmountOfExternalAllocatedMemoryForTesting(), GlobalSizeOfObjects(), HandleExternalMemoryInterrupt(), PrintShortHeapStatistics(), and v8::internal::GCTracer::RecordGCSizeCounters().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 655 of file heap.h.
Referenced by HandleExternalMemoryInterrupt().
Here is the caller graph for this function:| uint64_t v8::internal::Heap::external_memory_limit_for_interrupt | ( | ) |
Definition at line 1506 of file heap.cc.
References external_memory_, and v8::internal::Heap::ExternalMemoryAccounting::limit_for_interrupt().
Referenced by v8::Isolate::AdjustAmountOfExternalAllocatedMemoryImpl().
Here is the call graph for this function:
Here is the caller graph for this function:| uint64_t v8::internal::Heap::external_memory_soft_limit | ( | ) |
Definition at line 1510 of file heap.cc.
References external_memory_, and v8::internal::Heap::ExternalMemoryAccounting::soft_limit().
Here is the call graph for this function:| void v8::internal::Heap::FatalProcessOutOfMemory | ( | const char * | location | ) |
Definition at line 6584 of file heap.cc.
References v8::internal::V8::FatalProcessOutOfMemory(), isolate(), and v8::internal::V8::kHeapOOM.
Referenced by v8::internal::EvacuateNewSpaceVisitor::AllocateInOldSpace(), v8::internal::ReadOnlySpace::AllocateNextPageAt(), CheckHeapLimitReached(), CheckIneffectiveMarkCompact(), CollectGarbage(), CollectGarbageShared(), v8::internal::Scavenger::EvacuateObjectDefault(), v8::internal::JSTypedArray::GetBuffer(), KeepDuringJob(), and v8::internal::EvacuateNewSpaceVisitor::Visit().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 219 of file heap-inl.h.
References v8::internal::DCHECK(), v8::internal::MutablePageMetadata::DecrementExternalBackingStoreBytes(), v8::internal::PageMetadata::FromHeapObject(), v8::internal::InstanceTypeChecker::IsExternalString(), isolate(), and v8::internal::kExternalString.
Referenced by v8::internal::anonymous_namespace{string.cc}::MigrateExternalString(), and v8::internal::anonymous_namespace{string.cc}::MigrateExternalStringResource().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::FinalizeIncrementalMarkingAtomically | ( | GarbageCollectionReason | gc_reason | ) |
Definition at line 4058 of file heap.cc.
References CollectAllGarbage(), current_gc_callback_flags_, current_gc_flags_, v8::internal::DCHECK(), and incremental_marking().
Referenced by v8::internal::IncrementalMarking::AdvanceAndFinalizeIfComplete(), v8::internal::IncrementalMarking::AdvanceAndFinalizeIfNecessary(), FinalizeIncrementalMarkingAtomicallyIfRunning(), and v8::internal::CppHeap::StartDetachingIsolate().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::FinalizeIncrementalMarkingAtomicallyIfRunning | ( | GarbageCollectionReason | gc_reason | ) |
Definition at line 4064 of file heap.cc.
References FinalizeIncrementalMarkingAtomically(), and incremental_marking().
Referenced by PreciseCollectAllGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 318 of file setup-heap-internal.cc.
References v8::internal::DependentCode::empty_dependent_code(), isolate(), v8::internal::SKIP_WRITE_BARRIER, and v8::internal::Smi::zero().
Referenced by CreateEarlyReadOnlyMapsAndObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7203 of file heap.cc.
References v8::internal::handle(), isolate(), v8::internal::native_context, native_contexts_list(), and v8::base::internal::result.
Referenced by MeasureMemory(), and v8::internal::MarkCompactCollector::StartMarking().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7214 of file heap.cc.
References isolate(), v8::internal::native_context, native_contexts_list(), and v8::base::internal::result.
Here is the call graph for this function:Definition at line 7352 of file heap.cc.
References GcSafeFindCodeForInnerPointer().
Referenced by v8::internal::Deoptimizer::Deoptimizer(), and v8::internal::anonymous_namespace{frames.cc}::IsInterpreterFramePc().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::FinishSweepingIfOutOfWork | ( | ) |
Definition at line 7456 of file heap.cc.
References cpp_heap(), DCHECK_IMPLIES, delay_sweeper_tasks_for_testing_, EnsureSweepingCompleted(), v8::internal::CppHeap::FinishSweepingIfOutOfWork(), v8::internal::CppHeap::From(), kV8Only, major_sweeping_in_progress(), and sweeper().
Referenced by CompleteSweepingYoung().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 575 of file heap.h.
Referenced by v8::internal::PagedSpaceAllocatorPolicy::RefillLab().
Here is the caller graph for this function:| void v8::internal::Heap::ForeachAllocationSite | ( | Tagged< Object > | list, |
| const std::function< void(Tagged< AllocationSite >)> & | visitor | ||
| ) |
Definition at line 3057 of file heap.cc.
References v8::internal::anonymous_namespace{json-stringifier.cc}::no_gc.
Referenced by DeoptMarkedAllocationSites(), v8::internal::PretenuringHandler::ProcessPretenuringFeedback(), and ResetAllAllocationSitesDependentCode().
Here is the caller graph for this function:| void v8::internal::Heap::FreeLinearAllocationAreas | ( | ) |
Definition at line 3681 of file heap.cc.
References v8::internal::LocalHeap::FreeLinearAllocationAreas(), FreeMainThreadLinearAllocationAreas(), v8::internal::Isolate::global_safepoint(), v8::internal::Isolate::heap(), isolate(), v8::internal::GlobalSafepoint::IterateClientIsolates(), v8::internal::IsolateSafepoint::IterateLocalHeaps(), and safepoint().
Referenced by PerformGarbageCollection(), and v8::internal::IncrementalMarking::StartMarkingMajor().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::FreeMainThreadLinearAllocationAreas | ( | ) |
Definition at line 3693 of file heap.cc.
References allocator(), and v8::internal::HeapAllocator::FreeLinearAllocationAreas().
Referenced by AddAllocationObserversToAllSpaces(), DisableInlineAllocation(), FreeLinearAllocationAreas(), NotifyDeserializationComplete(), and StartTearDown().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3716 of file heap.cc.
References allocator(), v8::internal::DCHECK(), v8::internal::HeapAllocator::FreeSharedLinearAllocationAreasAndResetFreeLists(), v8::internal::LocalHeap::FreeSharedLinearAllocationAreasAndResetFreeLists(), v8::internal::IsolateSafepoint::IterateLocalHeaps(), main_thread_local_heap(), safepoint(), and v8::internal::v8_flags.
Here is the call graph for this function:
|
private |
|
private |
|
inlinestatic |
Definition at line 281 of file heap-inl.h.
References v8::internal::MemoryChunkMetadata::FromHeapObject(), v8::internal::MemoryChunkMetadata::heap(), heap(), v8::internal::MemoryChunkMetadata::IsWritable(), and SLOW_DCHECK.
Referenced by v8::internal::WriteBarrier::PageFlagsAreConsistent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1163 of file heap.cc.
References code_space(), CommittedMemory(), v8::internal::Isolate::counters(), isolate_, v8::internal::KB, last_gc_time_, MaximumCommittedMemory(), MonotonicallyIncreasingTimeInMs(), ReportStatisticsAfterGC(), SizeOfObjects(), TRACE_GC, tracer(), UpdateMaximumCommitted(), and v8::internal::v8_flags.
Referenced by CollectGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1074 of file heap.cc.
References v8::internal::IsolateSafepoint::AssertActive(), CHECK, CheckHandleCount(), v8::internal::LocalHeap::AtomicThreadState::ClearCollectionRequested(), code_space(), collection_barrier_, DCHECK_IMPLIES, v8::internal::Isolate::global_handles(), v8::internal::Isolate::global_safepoint(), v8::internal::Isolate::heap(), v8::internal::LocalHeap::InvokeGCEpilogueCallbacksInSafepoint(), isolate(), isolate_, v8::internal::LocalHeap::ThreadState::IsRunning(), IsYoungGenerationCollector(), v8::internal::GlobalSafepoint::IterateClientIsolates(), v8::internal::IsolateSafepoint::IterateLocalHeaps(), v8::kNone, v8::internal::anonymous_namespace{elements.cc}::kShared, lo_space(), main_thread_local_heap(), v8::internal::MARK_COMPACTOR, memory_allocator_, memory_pressure_level_, new_space(), NextStressMarkingLimit(), old_space(), safepoint(), ShouldReduceMemory(), v8::internal::LocalHeap::state_, stress_marking_percentage_, TRACE_GC, tracer(), UPDATE_COUNTERS_AND_FRAGMENTATION_FOR_SPACE, UPDATE_COUNTERS_FOR_SPACE, and v8::internal::v8_flags.
Referenced by PerformGarbageCollection().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 950 of file heap.cc.
References v8::internal::MinorGCJob::CancelTaskIfScheduled(), current_gc_flags_, v8::internal::DCHECK(), DCHECK_EQ, force_gc_on_next_allocation_, gc_state(), heap_allocator_, is_current_gc_for_heap_profiler_, is_current_gc_forced_, v8::internal::kForced, v8::kGCCallbackFlagForced, v8::internal::kHeapProfiler, minor_gc_job(), new_space_surviving_object_size_, nodes_copied_in_new_space_, nodes_died_in_new_space_, nodes_promoted_, NOT_IN_GC, previous_new_space_surviving_object_size_, v8::internal::Print(), promoted_objects_size_, TRACE_GC, tracer(), UpdateMaximumCommitted(), use_new_space(), and v8::internal::v8_flags.
Referenced by CollectGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 989 of file heap.cc.
References gc_count_, v8::internal::MARK_COMPACTOR, memory_allocator(), new_space_allocation_counter_, NewSpaceAllocationCounter(), v8::internal::MemoryAllocator::pool(), v8::internal::PagePool::ReleaseLargeImmediately(), TRACE_GC, tracer(), and v8::internal::v8_flags.
Referenced by PerformGarbageCollection().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1410 of file heap.h.
Referenced by v8::internal::ObjectStats::Dump(), DumpJSONHeapStatistics(), v8::internal::IdentityMapBase::InsertEntry(), v8::internal::IdentityMapBase::InsertKey(), v8::internal::IdentityMapBase::Lookup(), v8::internal::IdentityMapBase::LookupOrInsert(), v8::internal::ObjectStats::PrintJSON(), v8::internal::IdentityMapBase::Rehash(), and v8::internal::IdentityMapBase::Resize().
Here is the caller graph for this function:
|
inline |
Definition at line 564 of file heap.h.
Referenced by v8::internal::IncrementalMarking::AdvanceOnAllocation(), v8::internal::IncrementalMarking::CanBeStarted(), v8::internal::Isolate::CountUsage(), v8::internal::IdentityMapBase::DeleteIndex(), v8::internal::StringTable::DropOldData(), v8::internal::IdentityMapBase::FindEntry(), v8::internal::IdentityMapBase::FindOrInsertEntry(), GarbageCollectionPrologue(), v8::internal::IdentityMapBase::InsertEntry(), v8::internal::IdentityMapBase::InsertKey(), IsNewSpaceAllowedToGrowAboveTargetCapacity(), v8::internal::IdentityMapBase::Lookup(), v8::internal::IdentityMapBase::LookupOrInsert(), v8::internal::String::MakeExternalDuringGC(), MinorMarkSweep(), v8::internal::StringTable::NotifyElementsRemoved(), v8::internal::GlobalHandles::PostGarbageCollectionProcessing(), v8::internal::IdentityMapBase::Rehash(), v8::internal::GlobalSafepoint::RemoveClient(), v8::internal::StringForwardingTable::Reset(), v8::internal::IdentityMapBase::Resize(), RightTrimArray(), ShouldExpandOldGenerationOnSlowAllocation(), ShouldExpandYoungGenerationOnSlowAllocation(), v8::internal::SamplingHeapProfiler::Observer::Step(), TearDown(), and TearDownWithSharedHeap().
Here is the caller graph for this function:
|
inline |
Definition at line 1085 of file heap.h.
Referenced by CollectGarbage(), HandleExternalMemoryInterrupt(), and StartIncrementalMarkingOnInterrupt().
Here is the caller graph for this function:| Tagged< GcSafeCode > v8::internal::Heap::GcSafeFindCodeForInnerPointer | ( | Address | inner_pointer | ) |
Definition at line 7356 of file heap.cc.
References CHECK, and GcSafeTryFindCodeForInnerPointer().
Referenced by FindCodeForInnerPointer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7298 of file heap.cc.
References v8::internal::DCHECK(), GcSafeInstructionStreamContains(), v8::internal::Tagged< HeapObject >::is_null(), and v8::kAcquireLoad.
Referenced by GcSafeTryFindCodeForInnerPointer().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::GcSafeInstructionStreamContains | ( | Tagged< InstructionStream > | instruction_stream, |
| Address | addr | ||
| ) |
Definition at line 7307 of file heap.cc.
References v8::internal::Tagged< HeapObject >::address(), v8::internal::DCHECK(), DCHECK_EQ, v8::internal::compiler::end(), GcSafeMapOfHeapObject(), v8::internal::Builtins::IsBuiltinId(), isolate(), v8::kAcquireLoad, ReadOnlyRoots, and v8::internal::OffHeapInstructionStream::TryLookupCode().
Referenced by GcSafeGetCodeFromInstructionStream().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7289 of file heap.cc.
References v8::internal::MapWord::IsForwardingAddress(), isolate(), v8::kRelaxedLoad, v8::internal::MapWord::ToForwardingAddress(), and v8::internal::MapWord::ToMap().
Referenced by GcSafeInstructionStreamContains().
Here is the call graph for this function:
Here is the caller graph for this function:| std::optional< Tagged< GcSafeCode > > v8::internal::Heap::GcSafeTryFindCodeForInnerPointer | ( | Address | inner_pointer | ) |
Definition at line 7337 of file heap.cc.
References code, GcSafeGetCodeFromInstructionStream(), GcSafeTryFindInstructionStreamForInnerPointer(), v8::internal::Builtins::IsBuiltinId(), isolate(), and v8::internal::OffHeapInstructionStream::TryLookupCode().
Referenced by GcSafeFindCodeForInnerPointer(), v8::internal::ETWJITInterface::EtwIsolateOperations::HeapGcSafeTryFindCodeForInnerPointer(), TryFindCodeForInnerPointerForPrinting(), v8::internal::TurbofanStubWithContextFrame::unchecked_code(), and v8::internal::StubFrame::unchecked_code().
Here is the call graph for this function:
Here is the caller graph for this function:| std::optional< Tagged< InstructionStream > > v8::internal::Heap::GcSafeTryFindInstructionStreamForInnerPointer | ( | Address | inner_pointer | ) |
Definition at line 7327 of file heap.cc.
References v8::internal::HeapObject::FromAddress(), and v8::internal::ThreadIsolation::StartOfJitAllocationAt().
Referenced by GcSafeTryFindCodeForInnerPointer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 244 of file heap.cc.
References YoungGenerationSizeFromOldGenerationSize().
Referenced by v8::ResourceConstraints::ConfigureDefaults(), v8::ResourceConstraints::ConfigureDefaultsFromHeapSize(), and ConfigureHeap().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 3153 of file heap.cc.
References v8::internal::CodeRange::GetWritableReservedAreaSize().
Referenced by v8::internal::wasm::WasmCodeAllocator::InitializeCodeRange(), and v8::internal::wasm::anonymous_namespace{wasm-code-manager.cc}::OverheadPerCodeSpace().
Here is the call graph for this function:
Here is the caller graph for this function:| EmbedderRootsHandler * v8::internal::Heap::GetEmbedderRootsHandler | ( | ) | const |
Definition at line 6230 of file heap.cc.
References embedder_roots_handler_.
Referenced by v8::internal::TracedHandles::SupportsClearingWeakNonLiveWrappers().
Here is the caller graph for this function:
|
static |
Definition at line 3143 of file heap.cc.
References v8::internal::kDoubleAligned, v8::internal::kDoubleAlignmentMask, v8::internal::kDoubleSize, v8::internal::kDoubleUnaligned, v8::internal::kTaggedSize, and V8_COMPRESS_POINTERS_8GB_BOOL.
Referenced by v8::internal::SemiSpaceNewSpace::AddParkedAllocationBuffer(), v8::internal::MainAllocator::AlignTopForTesting(), AlignWithFillerBackground(), v8::internal::SemiSpaceNewSpace::Allocate(), v8::internal::MainAllocator::AllocateFastAligned(), v8::internal::HeapObject::CheckRequiredAlignment(), v8::internal::SemiSpaceNewSpaceAllocatorPolicy::EnsureAllocation(), and v8::internal::ReadOnlySpace::TryAllocateLinearlyAligned().
Here is the caller graph for this function:| std::shared_ptr< v8::TaskRunner > v8::internal::Heap::GetForegroundTaskRunner | ( | TaskPriority | priority = TaskPriority::kUserBlocking | ) | const |
Definition at line 6101 of file heap.cc.
References v8::internal::V8::GetCurrentPlatform(), v8::Platform::GetForegroundTaskRunner(), and isolate().
Referenced by v8::internal::IsolateSafepoint::InitiateGlobalSafepointScopeRaw(), v8::internal::MemoryBalancer::PostHeartbeatTask(), and v8::internal::MinorGCJob::TryScheduleTask().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 5311 of file heap.cc.
References kTraceRingBufferSize, ring_buffer_end_, ring_buffer_full_, and trace_ring_buffer_.
Referenced by RecordStats().
Here is the caller graph for this function:
|
static |
Definition at line 3129 of file heap.cc.
References v8::internal::kDoubleAligned, v8::internal::kDoubleSize, v8::internal::kDoubleUnaligned, v8::internal::kTaggedAligned, v8::internal::kTaggedSize, v8::internal::UNREACHABLE(), and V8_COMPRESS_POINTERS_8GB_BOOL.
Referenced by v8::internal::ReadOnlySpace::AllocateRawAligned(), v8::internal::MainAllocator::AllocateRawSlowAligned(), and v8::internal::PagedSpaceAllocatorPolicy::EnsureAllocation().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 386 of file heap-inl.h.
References DCHECK_NE, v8::internal::Smi::FromInt(), v8::internal::TemplateInfo::kFirstNonUniqueSerialNumber, v8::internal::Smi::kMaxValue, and v8::internal::TemplateInfo::kUninitializedSerialNumber.
Referenced by v8::internal::TemplateInfo::EnsureHasSerialNumber().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::GetObjectTypeName | ( | size_t | index, |
| const char ** | object_type, | ||
| const char ** | object_sub_type | ||
| ) |
Definition at line 7167 of file heap.cc.
References COMPARE_AND_RETURN_NAME, v8::internal::index, INSTANCE_TYPE_LIST, v8::internal::ObjectStats::OBJECT_STATS_COUNT, and VIRTUAL_INSTANCE_TYPE_LIST.
|
inline |
Definition at line 1631 of file heap.h.
References v8::internal::GetRandomMmapAddr(), and v8::base::internal::result.
Referenced by v8::internal::MemoryAllocator::AllocateUninitializedChunkAt(), and v8::internal::OffHeapInstructionStream::CreateOffHeapOffHeapInstructionStream().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 1987 of file heap.h.
Referenced by AllocationLimitOvershotByLargeMargin(), EnsureMinimumRemainingAllocationLimit(), GlobalMemoryAvailable(), PercentToGlobalMemoryLimit(), v8::internal::GCTracer::PrintNVP(), RecomputeLimits(), RecomputeLimitsAfterLoadingIfNeeded(), ShrinkOldGenerationAllocationLimitIfNotConfigured(), and v8::internal::IncrementalMarking::Start().
Here is the caller graph for this function:| size_t v8::internal::Heap::GlobalConsumedBytes | ( | ) | const |
Definition at line 5431 of file heap.cc.
References GlobalSizeOfObjects(), and GlobalWastedBytes().
Referenced by AllocationLimitOvershotByLargeMargin(), EnsureMinimumRemainingAllocationLimit(), GlobalMemoryAvailable(), PercentToGlobalMemoryLimit(), v8::internal::GCTracer::RecordGCSizeCounters(), and ShrinkOldGenerationAllocationLimitIfNotConfigured().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::GlobalConsumedBytesAtLastGC | ( | ) | const |
Definition at line 5439 of file heap.cc.
References embedder_size_at_last_gc_, external_memory_, v8::internal::Heap::ExternalMemoryAccounting::low_since_mark_compact(), OldGenerationConsumedBytesAtLastGC(), and v8::internal::v8_flags.
Referenced by PercentToGlobalMemoryLimit().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 5594 of file heap.cc.
References global_allocation_limit(), and GlobalConsumedBytes().
Referenced by IncrementalMarkingLimitReached(), and RecomputeLimitsAfterLoadingIfNeeded().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::GlobalSizeOfObjects | ( | ) | const |
Definition at line 5423 of file heap.cc.
References EmbedderSizeOfObjects(), external_memory(), OldGenerationSizeOfObjects(), and v8::internal::v8_flags.
Referenced by GlobalConsumedBytes(), and v8::internal::IncrementalMarking::Start().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::GlobalWastedBytes | ( | ) | const |
Definition at line 5429 of file heap.cc.
References OldGenerationWastedBytes().
Referenced by GlobalConsumedBytes(), and v8::internal::IncrementalMarking::Start().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::HandleExternalMemoryInterrupt | ( | ) |
Definition at line 1453 of file heap.cc.
References v8::internal::IncrementalMarking::AdvanceAndFinalizeIfNecessary(), CollectAllGarbage(), current_gc_callback_flags_, external_memory(), external_memory_, external_memory_hard_limit(), GCFlagsForIncrementalMarking(), incremental_marking(), v8::internal::kExternalMemoryPressure, v8::kGCCallbackFlagCollectAllAvailableGarbage, v8::kGCCallbackFlagCollectAllExternalMemory, v8::kGCCallbackFlagSynchronousPhantomCallbackProcessing, v8::internal::kNoFlags, v8::internal::kReduceMemoryFootprint, main_thread_local_heap(), v8::internal::MB, v8::internal::Heap::ExternalMemoryAccounting::soft_limit(), StartIncrementalMarking(), StartIncrementalMarkingIfAllocationLimitIsReached(), TRACE_EVENT2, v8::internal::Heap::ExternalMemoryAccounting::UpdateLimitForInterrupt(), and v8::internal::v8_flags.
Here is the call graph for this function:| void v8::internal::Heap::HandleGCRequest | ( | ) |
Definition at line 1205 of file heap.cc.
References CheckCollectionRequested(), CheckMemoryPressure(), CollectAllGarbage(), CollectGarbage(), CollectionRequested(), current_gc_callback_flags_, current_gc_flags_, v8::internal::StressScavengeObserver::HasRequestedGC(), HighMemoryPressure(), incremental_marking(), IsStressingScavenge(), v8::internal::kFinalizeConcurrentMinorMS, v8::internal::kFinalizeMarkingViaStackGuard, v8::internal::kTesting, minor_mark_sweep_collector(), v8::internal::NEW_SPACE, v8::internal::StressScavengeObserver::RequestedGCDone(), and stress_scavenge_observer_.
Referenced by v8::internal::StackGuard::HandleInterrupts().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1562 of file heap.h.
Referenced by v8::internal::Isolate::UpdateLogObjectRelocation().
Here is the caller graph for this function:| bool v8::internal::Heap::HasBeenSetUp | ( | ) | const |
Definition at line 449 of file heap.cc.
References old_space_.
Referenced by Available(), Capacity(), CommittedMemory(), CommittedMemoryExecutable(), CommittedOldGenerationMemory(), CommittedPhysicalMemory(), Contains(), ContainsCode(), v8::internal::Isolate::Init(), InSpace(), InSpaceSlow(), OldGenerationCapacity(), v8::internal::ProfilingScope::ProfilingScope(), and UpdateMaximumCommitted().
Here is the caller graph for this function:| bool v8::internal::Heap::HasDirtyJSFinalizationRegistries | ( | ) |
Definition at line 7035 of file heap.cc.
References dirty_js_finalization_registries_list(), and isolate().
Referenced by DequeueDirtyJSFinalizationRegistry(), EnqueueDirtyJSFinalizationRegistry(), and PostFinalizationRegistryCleanupTaskIfNeeded().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::HasHighFragmentation | ( | ) |
Definition at line 3883 of file heap.cc.
References CommittedOldGenerationMemory(), v8::internal::MB, and OldGenerationSizeOfObjects().
Referenced by v8::internal::MemoryReducer::NotifyMarkCompact().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::HasLowAllocationRate | ( | ) |
Definition at line 3843 of file heap.cc.
References HasLowEmbedderAllocationRate(), HasLowOldGenerationAllocationRate(), and HasLowYoungGenerationAllocationRate().
Here is the call graph for this function:
|
private |
Definition at line 3835 of file heap.cc.
References ComputeMutatorUtilization(), v8::internal::mu, and tracer().
Referenced by HasLowAllocationRate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3826 of file heap.cc.
References ComputeMutatorUtilization(), v8::internal::mu, and tracer().
Referenced by HasLowAllocationRate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3816 of file heap.cc.
References ComputeMutatorUtilization(), v8::internal::kOnlyAtomicPause, v8::internal::mu, and tracer().
Referenced by HasLowAllocationRate(), and RecomputeLimits().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1322 of file heap.h.
Referenced by v8::internal::LargeObjectSpace::AllocateLargePage().
Here is the caller graph for this function:
|
inline |
Definition at line 408 of file heap.h.
Referenced by v8::internal::CppHeap::AttachIsolate(), CanMoveObjectStart(), CheckHeapLimitReached(), CheckIneffectiveMarkCompact(), CollectAllAvailableGarbage(), CollectGarbage(), v8::internal::Isolate::Deinit(), v8::HeapSnapshot::Delete(), v8::internal::Isolate::Init(), OnMoveEvent(), v8::internal::RUNTIME_FUNCTION(), and v8::internal::Isolate::UpdateLogObjectRelocation().
Here is the caller graph for this function:
|
static |
Definition at line 5031 of file heap.cc.
References v8::internal::kSystemPointerSize, and v8::internal::v8_flags.
Referenced by DefaulMaxHeapSize(), DefaulMinHeapSize(), DefaultInitialOldGenerationSize(), HeapSizeFromPhysicalMemory(), OldGenerationLowMemory(), and OldGenerationToSemiSpaceRatioLowMemory().
Here is the caller graph for this function:
|
static |
Definition at line 226 of file heap.cc.
References DefaulMinHeapSize(), HeapLimitMultiplier(), v8::internal::MutablePageMetadata::kPageSize, kPhysicalMemoryToOldGenerationRatio, MaxOldGenerationSizeFromPhysicalMemory(), RoundUp(), and YoungGenerationSizeFromOldGenerationSize().
Referenced by v8::ResourceConstraints::ConfigureDefaults().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 698 of file heap.h.
References v8::kNone.
Referenced by CheckMemoryPressure(), v8::internal::anonymous_namespace{compiler.cc}::CompileTurbofan_Concurrent(), HandleGCRequest(), IncrementalMarkingLimitReached(), and ShouldOptimizeForMemoryUsage().
Here is the caller graph for this function:
|
inline |
Definition at line 577 of file heap.h.
|
inline |
Definition at line 1117 of file heap.h.
Referenced by v8::internal::UnifiedHeapMarker::AdvanceMarkingOnAllocationImpl(), AllocateExternalBackingStore(), v8::internal::MemoryAllocator::AllocatePage(), AllocationLimitOvershotByLargeMargin(), AttachCppHeap(), CanMoveObjectStart(), CanShortcutStringsDuringGC(), CheckMemoryPressure(), CollectGarbage(), CollectGarbageOnMemoryPressure(), v8::internal::PageMetadata::ConvertNewToOld(), FinalizeIncrementalMarkingAtomically(), FinalizeIncrementalMarkingAtomicallyIfRunning(), HandleExternalMemoryInterrupt(), HandleGCRequest(), v8::internal::ScavengerCollector::HandleSurvivingNewLargeObjects(), IncrementalMarkingLimitReached(), v8::internal::Isolate::Init(), v8::internal::MainAllocator::IsBlackAllocationEnabled(), IsNewSpaceAllowedToGrowAboveTargetCapacity(), v8::internal::LocalHeap::LocalHeap(), v8::internal::MinorMarkSweepCollector::MarkLiveObjects(), MinorMarkSweep(), NotifyLoadingEnded(), NotifyObjectLayoutChange(), v8::internal::MarkCompactCollector::Prepare(), v8::internal::OldLargeObjectSpace::PromoteNewLargeObject(), v8::internal::Sweeper::RawSweep(), RecomputeLimitsAfterLoadingIfNeeded(), v8::internal::PagedSpaceAllocatorPolicy::RefillLab(), RightTrimArray(), Scavenge(), v8::internal::IncrementalMarkingJob::ScheduleTask(), SelectGarbageCollector(), v8::internal::LocalHeap::SetUpSharedMarking(), ShouldExpandOldGenerationOnSlowAllocation(), ShouldExpandYoungGenerationOnSlowAllocation(), v8::internal::CppHeap::StartDetachingIsolate(), StartIncrementalMarking(), StartIncrementalMarkingIfAllocationLimitIsReached(), StartMinorMSConcurrentMarkingIfNeeded(), v8::internal::IncrementalMarking::Stop(), v8::internal::MarkCompactCollector::TearDown(), v8::internal::MinorMarkSweepCollector::TearDown(), v8::internal::MarkCompactCollector::VerifyMarking(), and WeakenDescriptorArrays().
Here is the caller graph for this function:
|
private |
Definition at line 5640 of file heap.cc.
References always_allocate(), cpp_heap(), gc_count_, GlobalMemoryAvailable(), HighMemoryPressure(), incremental_marking(), isolate(), kFallbackForEmbedderLimit, kHardLimit, kNoLimit, kSoftLimit, max_marking_limit_reached_, NewSpaceTargetCapacity(), OldGenerationSpaceAvailable(), PercentToGlobalMemoryLimit(), PercentToOldGenerationLimit(), v8::internal::GCTracer::RecordGCSizeCounters(), ShouldOptimizeForLoadTime(), ShouldOptimizeForMemoryUsage(), ShouldStressCompaction(), stress_marking_percentage_, tracer(), using_initial_limit(), and v8::internal::v8_flags.
Referenced by ShouldExpandOldGenerationOnSlowAllocation(), and StartIncrementalMarkingIfAllocationLimitIsReached().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::IncrementDeferredCounts | ( | base::Vector< const v8::Isolate::UseCounterFeature > | features | ) |
Definition at line 944 of file heap.cc.
References v8::base::Vector< T >::begin(), deferred_counters_, v8::base::SmallVector< T, kSize, Allocator >::end(), v8::base::Vector< T >::end(), and v8::base::SmallVector< T, kSize, Allocator >::insert().
Referenced by v8::internal::Isolate::CountUsage().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 401 of file heap-inl.h.
References backing_store_bytes_, and v8::base::CheckedIncrement().
Referenced by v8::internal::Space::IncrementExternalBackingStoreBytes(), and v8::internal::ArrayBufferSweeper::IncrementExternalMemoryCounters().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1364 of file heap.h.
Referenced by v8::internal::Sweeper::AddNewSpacePage().
Here is the caller graph for this function:
|
inline |
Definition at line 1379 of file heap.h.
Referenced by v8::internal::anonymous_namespace{global-handles.cc}::UpdateListOfYoungNodesImpl().
Here is the caller graph for this function:
|
inline |
Definition at line 1375 of file heap.h.
Referenced by v8::internal::anonymous_namespace{global-handles.cc}::ClearListOfYoungNodesImpl(), and v8::internal::anonymous_namespace{global-handles.cc}::UpdateListOfYoungNodesImpl().
Here is the caller graph for this function:
|
inline |
Definition at line 1381 of file heap.h.
Referenced by v8::internal::anonymous_namespace{global-handles.cc}::UpdateListOfYoungNodesImpl().
Here is the caller graph for this function:
|
inline |
Definition at line 1359 of file heap.h.
Referenced by v8::internal::Sweeper::AddPromotedPage().
Here is the caller graph for this function:
|
inline |
Definition at line 1383 of file heap.h.
Referenced by v8::internal::Sweeper::AddNewSpacePage(), and v8::internal::Sweeper::AddPromotedPage().
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 254 of file heap-inl.h.
References v8::internal::MemoryChunk::FromHeapObject(), and v8::internal::MemoryChunk::IsFromPage().
Here is the call graph for this function:
|
inlinestatic |
Definition at line 248 of file heap-inl.h.
References v8::internal::TaggedImpl< kRefType, StorageType >::GetHeapObject(), and InFromPage().
Here is the call graph for this function:Definition at line 242 of file heap-inl.h.
References v8::internal::DCHECK(), v8::internal::HasWeakHeapObjectTag(), and v8::internal::IsHeapObject().
Referenced by v8::internal::Scavenger::CheckAndScavengeObject(), v8::internal::Scavenger::EvacuateObject(), v8::internal::ForwardingAddress(), v8::internal::anonymous_namespace{scavenger.cc}::ObjectPinningVisitorBase< ConcreteVisitor >::HandleHeapObject(), v8::internal::IterateAndScavengePromotedObjectsVisitor::HandleSlot(), InFromPage(), v8::internal::anonymous_namespace{scavenger.cc}::IsUnscavengedHeapObject(), v8::internal::Scavenger::PromoteObject(), v8::internal::Scavenger::ScavengeObject(), v8::internal::Scavenger::SemiSpaceCopyObject(), v8::internal::StringForwardingTable::Block::UpdateAfterYoungEvacuation(), v8::internal::anonymous_namespace{scavenger.cc}::GlobalHandlesWeakRootsUpdatingVisitor::UpdatePointer(), and UpdateYoungReferenceInExternalStringTableEntry().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::InitializeHashSeed | ( | ) |
Definition at line 6087 of file heap.cc.
References v8::internal::DCHECK(), deserialization_complete_, isolate(), v8::internal::kInt64Size, v8::internal::MemCopy(), v8::base::RandomNumberGenerator::NextInt64(), v8::internal::Isolate::random_number_generator(), ReadOnlyRoots, and v8::internal::v8_flags.
Referenced by CreateImportantReadOnlyObjects(), and v8::internal::ReadOnlyDeserializer::DeserializeIntoIsolate().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::InitializeMainThreadLocalHeap | ( | LocalHeap * | main_thread_local_heap | ) |
|
static |
Definition at line 6108 of file heap.cc.
References heap::base::WorklistBase::EnforcePredictableOrder(), v8::internal::MemoryAllocator::InitializeOncePerProcess(), and v8::internal::v8_flags.
Referenced by v8::internal::Isolate::InitializeOncePerProcess().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 275 of file heap-inl.h.
References v8::internal::PagedSpaceBase::Contains(), v8::internal::HeapLayout::InYoungGeneration(), old_space_, and v8::internal::v8_flags.
Referenced by CompactWeakArrayLists().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| bool v8::internal::Heap::InSpace | ( | Tagged< HeapObject > | value, |
| AllocationSpace | space | ||
| ) | const |
Definition at line 4534 of file heap.cc.
References v8::internal::CODE_LO_SPACE, code_lo_space_, v8::internal::CODE_SPACE, code_space_, v8::internal::PagedSpaceBase::Contains(), v8::internal::ReadOnlyHeap::Contains(), v8::internal::LargeObjectSpace::Contains(), v8::internal::NewSpace::Contains(), v8::internal::EXECUTABLE, HasBeenSetUp(), v8::internal::IsAnyCodeSpace(), v8::internal::LO_SPACE, lo_space_, memory_allocator(), v8::internal::NEW_LO_SPACE, new_lo_space_, v8::internal::NEW_SPACE, new_space_, v8::internal::NOT_EXECUTABLE, v8::internal::OLD_SPACE, old_space_, v8::internal::RO_SPACE, v8::internal::SHARED_LO_SPACE, shared_lo_space_, v8::internal::SHARED_SPACE, shared_space_, v8::internal::SHARED_TRUSTED_LO_SPACE, shared_trusted_lo_space_, v8::internal::SHARED_TRUSTED_SPACE, shared_trusted_space_, space(), v8::internal::TRUSTED_LO_SPACE, trusted_lo_space_, v8::internal::TRUSTED_SPACE, trusted_space_, v8::internal::UNREACHABLE(), and v8::internal::value.
Here is the call graph for this function:| bool v8::internal::Heap::InSpaceSlow | ( | Address | addr, |
| AllocationSpace | space | ||
| ) | const |
Definition at line 4573 of file heap.cc.
References v8::internal::CODE_LO_SPACE, code_lo_space_, v8::internal::CODE_SPACE, code_space_, v8::internal::NewSpace::ContainsSlow(), v8::internal::LargeObjectSpace::ContainsSlow(), v8::internal::PagedSpaceBase::ContainsSlow(), v8::internal::ReadOnlySpace::ContainsSlow(), v8::internal::EXECUTABLE, HasBeenSetUp(), v8::internal::IsAnyCodeSpace(), v8::internal::LO_SPACE, lo_space_, memory_allocator(), v8::internal::NEW_LO_SPACE, new_lo_space_, v8::internal::NEW_SPACE, new_space_, v8::internal::NOT_EXECUTABLE, v8::internal::OLD_SPACE, old_space_, read_only_space_, v8::internal::RO_SPACE, v8::internal::SHARED_LO_SPACE, shared_lo_space_, v8::internal::SHARED_SPACE, shared_space_, v8::internal::SHARED_TRUSTED_LO_SPACE, shared_trusted_lo_space_, v8::internal::SHARED_TRUSTED_SPACE, shared_trusted_space_, space(), v8::internal::TRUSTED_LO_SPACE, trusted_lo_space_, v8::internal::TRUSTED_SPACE, trusted_space_, and v8::internal::UNREACHABLE().
Referenced by v8::internal::anonymous_namespace{frames.cc}::IsInterpreterFramePc(), and TryFindCodeForInnerPointerForPrinting().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 271 of file heap-inl.h.
References v8::internal::MemoryChunk::FromHeapObject(), and v8::internal::MemoryChunk::IsToPage().
Here is the call graph for this function:
|
inlinestatic |
Definition at line 265 of file heap-inl.h.
References v8::internal::TaggedImpl< kRefType, StorageType >::GetHeapObject(), and InToPage().
Here is the call graph for this function:Definition at line 259 of file heap-inl.h.
References v8::internal::DCHECK(), v8::internal::HasWeakHeapObjectTag(), and v8::internal::IsHeapObject().
Referenced by v8::internal::Scavenger::CheckAndScavengeObject(), InToPage(), v8::internal::anonymous_namespace{minor-mark-sweep.cc}::IsUnmarkedObjectInYoungGeneration(), v8::internal::Scavenger::PromoteObject(), v8::internal::Scavenger::ScavengeObject(), v8::internal::Scavenger::SemiSpaceCopyObject(), and v8::internal::anonymous_namespace{scavenger.cc}::GlobalHandlesWeakRootsUpdatingVisitor::UpdatePointer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 4078 of file heap.cc.
References CallGCEpilogueCallbacks(), isolate_, v8::kGCTypeIncrementalMarking, and v8::kNoGCCallbackFlags.
Referenced by v8::internal::IncrementalMarking::StartMarkingMajor().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 4071 of file heap.cc.
References CallGCPrologueCallbacks(), isolate_, v8::kGCTypeIncrementalMarking, and v8::kNoGCCallbackFlags.
Referenced by v8::internal::IncrementalMarking::StartMarkingMajor().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 4405 of file heap.cc.
References AllocatorLimitOnMaxOldGenerationSize(), initial_max_old_generation_size_, isolate(), max_old_generation_size(), near_heap_limit_callbacks_, SetOldGenerationAndGlobalMaximumSize(), TRACE_GC, and tracer().
Referenced by CheckHeapLimitReached(), CheckIneffectiveMarkCompact(), and CollectAllAvailableGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
inline |
Definition at line 949 of file heap.h.
|
inline |
Definition at line 581 of file heap.h.
Definition at line 6424 of file heap.cc.
References CHECK, CHECK_LE, v8::internal::FullObjectSlot::contains_map_value(), v8::internal::HeapUtils::GetOwnerHeap(), v8::kRelaxedLoad, v8::internal::kTaggedSize, v8::internal::HeapObjectLayout::map_slot(), v8::internal::TaggedImpl< kRefType, StorageType >::ptr(), and v8::internal::FreeSpace::size().
Referenced by v8::internal::FreeSpace::IsValid().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::IsGCWithMainThreadStack | ( | ) | const |
Definition at line 527 of file heap.cc.
References embedder_stack_state_.
Referenced by IsGCWithStack(), and IterateConservativeStackRoots().
Here is the caller graph for this function:| bool v8::internal::Heap::IsGCWithStack | ( | ) | const |
Definition at line 531 of file heap.cc.
References heap::base::Stack::HasBackgroundStacks(), IsGCWithMainThreadStack(), and stack().
Referenced by CanShortcutStringsDuringGC(), v8::internal::ScavengerCollector::CollectGarbage(), IterateConservativeStackRoots(), v8::internal::MinorMarkSweepCollector::MarkRootsFromConservativeStack(), and v8::internal::MarkCompactCollector::StartCompaction().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::IsImmovable | ( | Tagged< HeapObject > | object | ) |
Definition at line 3422 of file heap.cc.
References v8::internal::MemoryChunk::FromHeapObject(), v8::internal::MemoryChunk::IsLargePage(), and v8::internal::MemoryChunk::NeverEvacuate().
Here is the call graph for this function:
|
private |
Definition at line 3848 of file heap.cc.
References max_old_generation_size().
Referenced by CheckIneffectiveMarkCompact().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 569 of file heap.h.
Referenced by v8::internal::HeapAllocator::AllocateRaw(), and v8::internal::TickSample::GetStackSample().
Here is the caller graph for this function:
|
inline |
|
static |
Definition at line 3427 of file heap.cc.
References v8::internal::MemoryChunk::FromHeapObject(), and v8::internal::MemoryChunk::IsLargePage().
Referenced by CanMoveObjectStart(), LeftTrimFixedArray(), v8::internal::String::MakeExternal(), v8::internal::String::MakeExternalDuringGC(), v8::internal::String::MakeThin(), NotifyObjectSizeChange(), RightTrimArray(), v8::internal::Scavenger::ScavengeObject(), v8::internal::JSObject::UpdateAllocationSite(), and v8::internal::anonymous_namespace{scavenger.cc}::GlobalHandlesWeakRootsUpdatingVisitor::UpdatePointer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1675 of file heap.h.
Referenced by v8::internal::anonymous_namespace{mark-compact.cc}::GetCodeFlushMode().
Here is the caller graph for this function:
|
inline |
Definition at line 63 of file heap-inl.h.
References v8::internal::ThreadId::Current(), isolate(), and v8::internal::Isolate::thread_id().
Referenced by v8::internal::Sweeper::AddPageImpl(), v8::internal::Sweeper::AddPromotedPage(), v8::internal::PagedSpaceAllocatorPolicy::ContributeToSweeping(), v8::internal::Sweeper::EnsureMajorCompleted(), v8::internal::Sweeper::EnsurePageIsSwept(), v8::internal::Sweeper::FinishMajorJobs(), v8::internal::Sweeper::FinishMinorJobs(), v8::internal::Sweeper::ParallelSweepSpace(), v8::internal::Sweeper::MajorSweeperJob::Run(), v8::internal::Sweeper::MinorSweeperJob::Run(), v8::internal::ScavengerCollector::QuarantinedPageSweeper::JobTask::Run(), v8::internal::GCTracer::Scope::Scope(), v8::internal::Sweeper::SweepEmptyNewSpacePage(), and v8::internal::Sweeper::WaitForPageToBeSwept().
Here is the call graph for this function:
Here is the caller graph for this function:| uint8_t * v8::internal::Heap::IsMarkingFlagAddress | ( | ) |
Definition at line 7393 of file heap.cc.
References v8::internal::IsolateData::is_marking_flag_, isolate(), and v8::internal::Isolate::isolate_data().
Here is the call graph for this function:| uint8_t * v8::internal::Heap::IsMinorMarkingFlagAddress | ( | ) |
Definition at line 7401 of file heap.cc.
References v8::internal::IsolateData::is_minor_marking_flag_, isolate(), and v8::internal::Isolate::isolate_data().
Here is the call graph for this function:| bool v8::internal::Heap::IsNewSpaceAllowedToGrowAboveTargetCapacity | ( | ) | const |
Definition at line 5573 of file heap.cc.
References always_allocate(), gc_state(), incremental_marking(), v8::internal::IncrementalMarking::IsMarking(), and TEAR_DOWN.
Here is the call graph for this function:
|
inline |
Definition at line 61 of file heap-inl.h.
References v8::internal::Isolate::FromHeap().
Referenced by ActivateMemoryReducerIfNeededOnMainThread(), v8::internal::V8HeapExplorer::AddEntry(), v8::internal::MarkCompactCollector::AddEvacuationCandidate(), AddGCEpilogueCallback(), AddGCPrologueCallback(), AddRetainedMaps(), v8::internal::Heap::ExternalStringTable::AddString(), Allocate(), AllocateExternalBackingStore(), AllocateMap(), AllocatePartialMap(), v8::internal::HeapAllocator::AllocateRaw(), v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(), v8::internal::Heap::AllocationTrackerForDebugging::AllocationEvent(), AttachCppHeap(), v8::internal::CollectionBarrier::AwaitCollectionBackground(), v8::internal::EvacuateVisitorBase::cage_base(), CallGCEpilogueCallbacks(), CallGCPrologueCallbacks(), v8::internal::MinorGCJob::CancelTaskIfScheduled(), CanMoveObjectStart(), CanReferenceHeapObject(), CanShortcutStringsDuringGC(), CheckMemoryPressure(), v8::internal::Heap::ExternalStringTable::CleanUpAll(), v8::internal::Heap::ExternalStringTable::CleanUpYoung(), v8::internal::HeapProfiler::ClearHeapObjectMap(), ClearKeptObjects(), v8::internal::MinorMarkSweepCollector::ClearNonLiveReferences(), v8::internal::anonymous_namespace{heap.cc}::ClearStubCaches(), v8::internal::LocalHandleScope::CloseMainThreadScope(), CollectAllAvailableGarbage(), CollectCodeStatistics(), v8::internal::MarkCompactCollector::CollectEvacuationCandidates(), v8::internal::MinorMarkSweepCollector::CollectGarbage(), CollectGarbage(), CollectGarbageFromAnyThread(), CollectGarbageShared(), v8::internal::V8HeapExplorer::CollectTemporaryGlobalObjectsTags(), CompactWeakArrayLists(), ComputeMutatorUtilization(), v8::internal::ConcurrentUnifiedHeapMarkingVisitor::ConcurrentUnifiedHeapMarkingVisitor(), v8::internal::ConservativePinningScope::ConservativePinningScope(), CreateEarlyReadOnlyMapsAndObjects(), CreateImportantReadOnlyObjects(), CreateInitialMutableObjects(), CreateInternalAccessorInfoObjects(), CreateLateReadOnlyJSReceiverMaps(), CreateMutableApiObjects(), CreateReadOnlyApiObjects(), CreateReadOnlyHeapObjects(), CreateReadOnlyObjects(), DeactivateMajorGCInProgressFlag(), v8::internal::ArrayBufferSweeper::DecrementExternalMemoryCounters(), DequeueDirtyJSFinalizationRegistry(), v8::internal::MinorMarkSweepCollector::DrainMarkingWorklist(), DumpJSONHeapStatistics(), EnqueueDirtyJSFinalizationRegistry(), v8::internal::ReadOnlySpace::EnsurePage(), v8::internal::LocalHeap::EnsurePersistentHandles(), v8::internal::MinorMarkSweepCollector::EvacuateExternalPointerReferences(), v8::internal::EvacuateVisitorBase::EvacuateVisitorBase(), v8::internal::EvacuationAllocator::EvacuationAllocator(), FatalProcessOutOfMemory(), FinalizeExternalString(), FinalizePartialMap(), FindAllNativeContexts(), FindAllRetainedMaps(), v8::internal::MarkCompactCollector::Finish(), v8::internal::Sweeper::FinishMajorJobs(), v8::internal::Sweeper::FinishMinorJobs(), FreeLinearAllocationAreas(), GarbageCollectionEpilogueInSafepoint(), GcSafeInstructionStreamContains(), GcSafeMapOfHeapObject(), GcSafeTryFindCodeForInnerPointer(), v8::internal::HeapSnapshotGenerator::GenerateSnapshot(), v8::internal::HeapSnapshotGenerator::GenerateSnapshotAfterGC(), GetForegroundTaskRunner(), v8::internal::V8HeapExplorer::GetLocationFunction(), v8::internal::LocalHandleScope::GetMainThreadHandle(), HasDirtyJSFinalizationRegistries(), v8::internal::HeapAllocator::heap_for_allocation(), IncrementalMarkingLimitReached(), v8::internal::ArrayBufferSweeper::IncrementExternalMemoryCounters(), v8::internal::WriteBarrier::IndirectPointerMarkingFromCode(), InitializeHashSeed(), v8::internal::anonymous_namespace{heap.cc}::InvokeExternalCallbacks(), InvokeNearHeapLimitCallback(), v8::internal::V8HeapExplorer::IsEssentialObject(), IsMainThread(), IsMarkingFlagAddress(), IsMinorMarkingFlagAddress(), v8::internal::ObjectStatsCollectorImpl::isolate(), v8::internal::ObjectStats::isolate(), v8::internal::IncrementalMarking::isolate(), v8::internal::MarkingBarrier::isolate(), v8::internal::IsolateSafepoint::isolate(), v8::internal::HeapProfiler::isolate(), v8::internal::MarkCompactCollector::IsUnmarkedSharedHeapObject(), v8::internal::V8HeapExplorer::IterateAndExtractReferences(), IterateBuiltins(), IterateConservativeStackRoots(), IterateRootsForPrecisePinning(), IterateRootsIncludingClients(), IterateSmiRoots(), IterateWeakRoots(), KeepDuringJob(), LeftTrimFixedArray(), v8::internal::LocalHeap::LocalHeap(), v8::internal::V8HeapExplorer::MakeGlobalObjectTagMap(), MakeLinearAllocationAreasIterable(), v8::internal::WriteBarrier::MarkingFromCode(), v8::internal::WriteBarrier::MarkingSlow(), v8::internal::WriteBarrier::MarkingSlowFromCppHeapWrappable(), v8::internal::MarkCompactCollector::MarkObjectsFromClientHeaps(), v8::internal::MarkingBarrier::MarkRange(), v8::internal::MarkCompactCollector::MarkRoots(), v8::internal::MinorMarkSweepCollector::MarkRoots(), v8::internal::MarkCompactCollector::MarkRootsFromConservativeStack(), v8::internal::MinorMarkSweepCollector::MarkRootsFromConservativeStack(), v8::internal::MinorMarkSweepCollector::MarkRootsFromTracedHandles(), MeasureMemory(), MemoryPressureNotification(), v8::internal::PretenuringHandler::MergeAllocationSitePretenuringFeedback(), v8::internal::ProfilingMigrationObserver::Move(), MustBeInSharedOldSpace(), NewSpaceAllocationLimitAddress(), NewSpaceAllocationTopAddress(), v8::internal::StressScavengeObserver::NextLimit(), NextStressMarkingLimit(), NotifyContextDisposed(), v8::internal::GCTracer::NotifyFullSweepingCompletedAndStopCycleIfFinished(), v8::internal::MemoryReducer::NotifyMarkCompact(), v8::internal::GCTracer::NotifyMarkingStart(), NotifyObjectLayoutChange(), NotifyOldGenerationExpansion(), v8::internal::MemoryReducer::NotifyTimer(), NumberOfNativeContexts(), v8::internal::IncrementalMarking::OldGenerationSizeOfObjects(), v8::internal::LocalHandleScope::OpenMainThreadScope(), PauseConcurrentThreadsInClients(), PerformGarbageCollection(), PerformHeapVerification(), v8::internal::MemoryBalancer::PostHeartbeatTask(), v8::internal::GCTracer::Print(), v8::internal::GCTracer::PrintNVP(), ProcessDirtyJSFinalizationRegistries(), v8::internal::PretenuringHandler::ProcessPretenuringFeedback(), v8::internal::GCTracer::RecordGCPhasesHistograms(), v8::internal::MarkCompactCollector::RecordSlot(), v8::internal::FieldStatsCollector::RecordStats(), v8::internal::ObjectStatsCollectorImpl::RecordVirtualFeedbackVectorDetails(), v8::internal::PagedSpaceAllocatorPolicy::RefillLab(), v8::internal::MemoryBalancer::RefreshLimit(), RegisterStrongRoots(), RemoveDirtyFinalizationRegistriesOnContext(), v8::internal::CodeLargeObjectSpace::RemovePage(), v8::internal::GCTracer::ReportFullCycleToRecorder(), v8::internal::GCTracer::ReportIncrementalMarkingStepToRecorder(), v8::internal::GCTracer::ReportIncrementalSweepingStepToRecorder(), ReportStatisticsAfterGC(), v8::internal::GCTracer::ReportYoungCycleToRecorder(), v8::internal::StressScavengeObserver::RequestedGCDone(), v8::internal::MinorMarkSweepCollector::RequestGC(), ResumeConcurrentThreadsInClients(), roots_table(), v8::internal::ArrayBufferSweeper::SweepingState::SweepingJob::Run(), v8::internal::Sweeper::MajorSweeperJob::Run(), v8::internal::Sweeper::MinorSweeperJob::Run(), v8::internal::ConcurrentMarking::JobTaskMajor::Run(), v8::internal::ConcurrentMarking::JobTaskMinor::Run(), v8::internal::ScavengerCollector::QuarantinedPageSweeper::JobTask::Run(), v8::internal::Sweeper::MajorSweeperJob::RunImpl(), v8::internal::Sweeper::MinorSweeperJob::RunImpl(), v8::internal::BackgroundCollectionInterruptTask::RunInternal(), v8::internal::FinalizationRegistryCleanupTask::RunInternal(), v8::internal::IncrementalMarkingJob::Task::RunInternal(), v8::internal::ConcurrentMarking::RunMajor(), v8::internal::ConcurrentMarking::RunMinor(), v8::internal::ConcurrentMarking::RunMinorImpl(), v8::internal::Scavenger::ScavengePage(), v8::internal::IncrementalMarkingJob::ScheduleTask(), SetFunctionsMarkedForManualOptimization(), SetIsMarkingFlag(), SetIsMinorMarkingFlag(), SetOldGenerationAndGlobalAllocationLimit(), SetSerializedGlobalProxySizes(), SetSerializedObjects(), v8::internal::HeapAllocator::Setup(), SetUp(), v8::internal::LocalHeap::SetUpSharedMarking(), SetUpSpaces(), v8::internal::WriteBarrier::SharedMarkingFromCode(), ShouldOptimizeForBattery(), ShouldOptimizeForMemoryUsage(), ShouldUseBackgroundThreads(), ShouldUseIncrementalMarking(), v8::internal::FinalizationRegistryCleanupTask::SlowAssertNoActiveJavaScript(), v8::internal::MarkCompactCollector::StartCompaction(), v8::internal::GCTracer::StartCycle(), v8::internal::HeapProfiler::StartHeapObjectsTracking(), StartIncrementalMarking(), StartIncrementalMarkingIfAllocationLimitIsReached(), v8::internal::MarkCompactCollector::StartMarking(), v8::internal::MinorMarkSweepCollector::StartSweepNewSpace(), v8::internal::MinorMarkSweepCollector::StartSweepNewSpaceWithStickyBits(), v8::internal::StressScavengeObserver::Step(), v8::internal::StressConcurrentAllocationObserver::Step(), v8::internal::GCTracer::StopCycle(), v8::internal::GCTracer::StopObservablePause(), v8::internal::IncrementalMarking::StopPointerTableBlackAllocation(), v8::internal::CollectionBarrier::StopTimeToCollectionTimer(), v8::internal::StressScavengeObserver::StressScavengeObserver(), v8::internal::HeapProfiler::TakeSnapshot(), TearDown(), v8::internal::MinorMarkSweepCollector::TraceFragmentation(), v8::internal::UnreachableObjectsFilter::MarkingVisitor::TransitiveClosure(), TryFindCodeForInnerPointerForPrinting(), v8::internal::HeapAllocator::TryResizeLargeObject(), v8::internal::MinorGCJob::TryScheduleTask(), Unmark(), UnregisterStrongRoots(), v8::internal::HeapObjectsMap::UpdateHeapObjectsMap(), v8::internal::EvacuateOldSpaceVisitor::Visit(), v8::internal::InternalizedStringTableCleaner::VisitRootPointers(), v8::internal::RootsReferencesExtractor::VisitRootPointers(), WeakenDescriptorArrays(), v8::internal::LocalHeap::~LocalHeap(), and v8::internal::SemiSpace::~SemiSpace().
Here is the call graph for this function:| bool v8::internal::Heap::IsOldGenerationExpansionAllowed | ( | size_t | size, |
| const base::MutexGuard & | expansion_mutex_witness | ||
| ) | const |
Definition at line 421 of file heap.cc.
References max_old_generation_size(), OldGenerationCapacity(), and size().
Here is the call graph for this function:
|
inline |
Definition at line 348 of file heap-inl.h.
References IsPendingAllocationInternal(), v8::base::internal::result, and v8::internal::v8_flags.
Referenced by IsPendingAllocation(), v8::internal::compiler::JSHeapBroker::ObjectMayBeUninitialized(), v8::internal::GlobalDictionary::TryFindPropertyCellForConcurrentLookupIterator(), and v8::internal::SwissNameDictionary::TryValueAt().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 357 of file heap-inl.h.
References v8::internal::IsHeapObject(), and IsPendingAllocation().
Here is the call graph for this function:
|
inlineprivate |
Definition at line 297 of file heap-inl.h.
References allocator(), v8::internal::CODE_LO_SPACE, v8::internal::CODE_SPACE, v8::internal::HeapAllocator::code_space_allocator(), v8::internal::DCHECK(), deserialization_complete(), v8::internal::MemoryChunk::FromHeapObject(), v8::internal::BaseSpace::identity(), v8::internal::MemoryChunk::InReadOnlySpace(), v8::internal::MainAllocator::IsPendingAllocation(), v8::internal::LO_SPACE, v8::internal::MemoryChunk::Metadata(), v8::internal::NEW_LO_SPACE, v8::internal::NEW_SPACE, v8::internal::HeapAllocator::new_space_allocator(), v8::internal::OLD_SPACE, v8::internal::HeapAllocator::old_space_allocator(), v8::internal::MemoryChunkMetadata::owner(), v8::internal::LargeObjectSpace::pending_allocation_mutex(), v8::internal::LargeObjectSpace::pending_object(), v8::internal::RO_SPACE, v8::internal::SHARED_LO_SPACE, v8::internal::SHARED_SPACE, v8::internal::SHARED_TRUSTED_LO_SPACE, v8::internal::SHARED_TRUSTED_SPACE, v8::internal::TRUSTED_LO_SPACE, v8::internal::TRUSTED_SPACE, v8::internal::HeapAllocator::trusted_space_allocator(), and v8::internal::UNREACHABLE().
Referenced by IsPendingAllocation().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestaticprivate |
|
private |
Definition at line 7385 of file heap.cc.
References new_space(), and v8::internal::v8_flags.
Referenced by HandleGCRequest(), SetUpSpaces(), and TearDown().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 568 of file heap.h.
Referenced by v8::internal::GlobalHandles::PostGarbageCollectionProcessing(), v8::internal::ArrayBufferSweeper::RequestSweep(), v8::internal::ConcurrentMarking::RescheduleJobIfNeeded(), v8::internal::IncrementalMarkingJob::ScheduleTask(), v8::internal::IncrementalMarking::StartMarkingMajor(), v8::internal::IncrementalMarking::StartMarkingMinor(), StartMinorMSConcurrentMarkingIfNeeded(), v8::internal::ConcurrentMarking::TryScheduleJob(), and v8::internal::MinorGCJob::TryScheduleTask().
Here is the caller graph for this function:
|
static |
Definition at line 4622 of file heap.cc.
References v8::internal::CODE_LO_SPACE, v8::internal::CODE_SPACE, v8::internal::LO_SPACE, v8::internal::NEW_LO_SPACE, v8::internal::NEW_SPACE, v8::internal::OLD_SPACE, v8::internal::RO_SPACE, v8::internal::SHARED_LO_SPACE, v8::internal::SHARED_SPACE, v8::internal::SHARED_TRUSTED_LO_SPACE, v8::internal::SHARED_TRUSTED_SPACE, space(), v8::internal::TRUSTED_LO_SPACE, and v8::internal::TRUSTED_SPACE.
Referenced by v8::Isolate::GetHeapSpaceStatistics().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 361 of file heap.h.
Referenced by CollectGarbage(), GarbageCollectionEpilogueInSafepoint(), v8::internal::SamplingHeapProfiler::OnWeakCallback(), PerformGarbageCollection(), RecomputeLimits(), v8::internal::GCTracer::RecordGCPhasesInfo::RecordGCPhasesInfo(), v8::internal::GCTracer::StartCycle(), StartIncrementalMarking(), v8::internal::GCTracer::StopCycle(), and v8::internal::GCTracer::StopObservablePause().
Here is the caller graph for this function:| void v8::internal::Heap::IterateBuiltins | ( | RootVisitor * | v | ) |
Definition at line 4967 of file heap.cc.
References v8::internal::Builtins::AllBuiltinsAreIsolateIndependent(), v8::internal::Builtins::builtin_slot(), v8::internal::Builtins::builtin_tier0_slot(), v8::internal::Isolate::builtins(), isolate(), v8::internal::Builtins::kFirst, v8::internal::Builtins::kLast, v8::internal::Builtins::kLastTier0, v8::internal::Builtins::name(), v8::internal::name, and v8::internal::RootVisitor::VisitRootPointer().
Referenced by IterateRoots().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::IterateConservativeStackRoots | ( | ::heap::base::StackVisitor * | stack_visitor, |
| StackScanMode | stack_scan_mode | ||
| ) |
Definition at line 5005 of file heap.cc.
References v8::internal::DCHECK(), DCHECK_EQ, DCHECK_NE, IsGCWithMainThreadStack(), IsGCWithStack(), heap::base::Stack::IterateBackgroundStacks(), heap::base::Stack::IteratePointersFromAddressUntilMarker(), heap::base::Stack::IteratePointersUntilMarker(), kFull, kNone, kSelective, selective_stack_scan_start_address_, and stack().
Here is the call graph for this function:| void v8::internal::Heap::IterateConservativeStackRoots | ( | RootVisitor * | root_visitor, |
| IterateRootsMode | roots_mode = IterateRootsMode::kMainIsolate |
||
| ) |
Definition at line 4987 of file heap.cc.
References ConservativeStackScanningModeForMajorGC(), DCHECK_IMPLIES, IsGCWithStack(), isolate(), kClientIsolate, kNone, kSelective, and v8::internal::Isolate::shared_space_isolate().
Referenced by v8::internal::ScavengerCollector::CollectGarbage(), IterateRoots(), v8::internal::MarkCompactCollector::MarkRootsFromConservativeStack(), and v8::internal::MinorMarkSweepCollector::MarkRootsFromConservativeStack().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::IterateRoots | ( | RootVisitor * | v, |
| base::EnumSet< SkipRoot > | options, | ||
| IterateRootsMode | roots_mode = IterateRootsMode::kMainIsolate |
||
| ) |
Definition at line 4808 of file heap.cc.
References v8::internal::Isolate::bootstrapper(), v8::internal::Isolate::compilation_cache(), v8::base::EnumSet< E, T >::contains(), v8::internal::DCHECK(), v8::internal::Isolate::debug(), v8::internal::Isolate::eternal_handles(), v8::internal::Isolate::global_handles(), v8::internal::Isolate::handle_scope_implementer(), isolate_, v8::internal::HandleScopeImplementer::Iterate(), v8::internal::Relocatable::Iterate(), v8::internal::TracedHandles::Iterate(), v8::internal::CompilationCache::Iterate(), v8::internal::Debug::Iterate(), v8::internal::ThreadManager::Iterate(), v8::internal::Bootstrapper::Iterate(), v8::internal::PersistentHandlesList::Iterate(), v8::internal::GlobalHandles::IterateAllRoots(), v8::internal::EternalHandles::IterateAllRoots(), IterateBuiltins(), IterateConservativeStackRoots(), v8::internal::MicrotaskQueue::IterateMicrotasks(), v8::internal::SerializerDeserializer::IterateSharedHeapObjectCache(), IterateStackRoots(), v8::internal::SerializerDeserializer::IterateStartupObjectCache(), v8::internal::GlobalHandles::IterateStrongRoots(), IterateWeakRoots(), v8::internal::EternalHandles::IterateYoungRoots(), v8::internal::Builtins::kCodeObjectsAreInROSpace, v8::internal::kConservativeStack, v8::internal::kGlobalHandles, v8::internal::kMainThreadHandles, v8::internal::kOldGeneration, v8::internal::kReadOnlyBuiltins, v8::internal::kStack, v8::internal::kTracedHandles, v8::internal::kUnserializable, v8::internal::kWeak, v8::internal::MicrotaskQueue::next(), v8::internal::StrongRootsEntry::next, v8::internal::Isolate::OwnsStringTables(), v8::internal::Isolate::persistent_handles_list(), roots_table(), safepoint_, v8::internal::Isolate::serializer_enabled(), strong_roots_head_, v8::internal::RootVisitor::Synchronize(), v8::internal::Isolate::thread_manager(), v8::internal::Isolate::traced_handles(), and v8::internal::RootVisitor::VisitRootPointers().
Referenced by v8::internal::ScavengerCollector::CollectGarbage(), v8::internal::StartupDeserializer::DeserializeIntoIsolate(), v8::internal::V8HeapExplorer::IterateAndExtractReferences(), IterateRootsIncludingClients(), LeftTrimFixedArray(), v8::internal::UnreachableObjectsFilter::MarkReachableObjects(), v8::internal::IncrementalMarking::MarkRoots(), v8::internal::MarkCompactCollector::MarkRoots(), v8::internal::MinorMarkSweepCollector::MarkRoots(), and v8::internal::StartupSerializer::SerializeStrongReferences().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::IterateRootsForPrecisePinning | ( | RootVisitor * | visitor | ) |
Definition at line 5025 of file heap.cc.
References v8::internal::Isolate::handle_scope_implementer(), isolate(), v8::internal::HandleScopeImplementer::Iterate(), and IterateStackRoots().
Referenced by v8::internal::ScavengerCollector::CollectGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::IterateRootsIncludingClients | ( | RootVisitor * | v, |
| base::EnumSet< SkipRoot > | options | ||
| ) |
Definition at line 4948 of file heap.cc.
References v8::internal::Isolate::global_safepoint(), v8::internal::Isolate::heap(), isolate(), v8::internal::GlobalSafepoint::IterateClientIsolates(), IterateRoots(), kClientIsolate, and kMainIsolate.
Here is the call graph for this function:| void v8::internal::Heap::IterateSmiRoots | ( | RootVisitor * | v | ) |
Definition at line 4722 of file heap.cc.
References isolate(), roots_table(), v8::internal::RootVisitor::Synchronize(), and v8::internal::RootVisitor::VisitRootPointers().
Referenced by v8::internal::StartupDeserializer::DeserializeIntoIsolate(), and v8::internal::StartupSerializer::SerializeStrongReferences().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::IterateStackRoots | ( | RootVisitor * | v | ) |
Definition at line 4985 of file heap.cc.
References isolate_, and v8::internal::Isolate::Iterate().
Referenced by IterateRoots(), and IterateRootsForPrecisePinning().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::IterateWeakGlobalHandles | ( | RootVisitor * | v | ) |
Definition at line 4962 of file heap.cc.
References v8::internal::Isolate::global_handles(), isolate_, v8::internal::TracedHandles::Iterate(), v8::internal::GlobalHandles::IterateWeakRoots(), and v8::internal::Isolate::traced_handles().
Referenced by v8::internal::V8HeapExplorer::IterateAndExtractReferences().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::IterateWeakRoots | ( | RootVisitor * | v, |
| base::EnumSet< SkipRoot > | options | ||
| ) |
Definition at line 4683 of file heap.cc.
References v8::base::EnumSet< E, T >::contains(), v8::internal::DCHECK(), external_string_table_, isolate(), v8::internal::Heap::ExternalStringTable::IterateAll(), v8::internal::SharedStructTypeRegistry::IterateElements(), v8::internal::StringTable::IterateElements(), v8::internal::kExternalStringTable, v8::internal::kOldGeneration, v8::internal::kUnserializable, v8::internal::kWeak, v8::internal::Isolate::shared_struct_type_registry(), v8::internal::Isolate::string_table(), v8::internal::RootVisitor::Synchronize(), and v8::internal::RootVisitor::VisitRootPointer().
Referenced by v8::internal::StartupDeserializer::DeserializeIntoIsolate(), v8::internal::V8HeapExplorer::IterateAndExtractReferences(), IterateRoots(), and v8::internal::StartupSerializer::SerializeWeakReferencesAndDeferred().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::KeepDuringJob | ( | DirectHandle< HeapObject > | target | ) |
Definition at line 7127 of file heap.cc.
References v8::bigint::Add(), v8::internal::DCHECK(), v8::internal::Isolate::factory(), FatalProcessOutOfMemory(), v8::internal::handle(), isolate(), v8::internal::Factory::NewOrderedHashSet(), and v8::internal::MaybeHandle< T >::ToHandle().
Here is the call graph for this function:| Tagged< FixedArrayBase > v8::internal::Heap::LeftTrimFixedArray | ( | Tagged< FixedArrayBase > | obj, |
| int | elements_to_trim | ||
| ) |
Definition at line 3508 of file heap.cc.
References CanMoveObjectStart(), CHECK, CreateFillerObjectAtRaw(), v8::internal::DCHECK(), v8::internal::WritableFreeSpace::ForNonExecutableMemory(), v8::internal::HeapObject::FromAddress(), v8::internal::Smi::FromInt(), v8::internal::MapWord::FromMap(), IsLargeObject(), isolate(), IterateRoots(), v8::internal::kClearFreedMemory, v8::internal::kConservativeStack, v8::internal::kDoubleSize, v8::internal::kNo, v8::internal::kTaggedSize, v8::internal::kYes, kYes, v8::internal::anonymous_namespace{heap.cc}::MayContainRecordedSlots(), OnMoveEvent(), ReadOnlyRoots, RELAXED_WRITE_FIELD, and v8::internal::v8_flags.
Referenced by v8::internal::anonymous_namespace{elements.cc}::FastElementsAccessor< Subclass, KindTraits >::RemoveElement().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 777 of file heap.h.
Referenced by CollectAllAvailableGarbage(), DeactivateMajorGCInProgressFlag(), v8::internal::MarkCompactCollector::Finish(), GarbageCollectionEpilogueInSafepoint(), v8::internal::ScavengerCollector::HandleSurvivingNewLargeObjects(), v8::internal::OldGenerationMemoryChunkIterator::next(), OldGenerationSizeOfObjects(), v8::internal::IncrementalMarking::OldGenerationSizeOfObjects(), v8::internal::MinorMarkSweepCollector::SweepNewLargeSpace(), and Unmark().
Here is the caller graph for this function:
|
inline |
Definition at line 885 of file heap.h.
Referenced by v8::internal::IsolateSafepoint::AssertMainThreadIsOnlyThread(), v8::internal::HeapAllocator::CollectAllAvailableGarbage(), CollectGarbage(), CollectGarbageFromAnyThread(), v8::internal::WriteBarrier::CurrentMarkingBarrier(), FreeSharedLinearAllocationAreasAndResetFreeLists(), GarbageCollectionEpilogueInSafepoint(), HandleExternalMemoryInterrupt(), MarkSharedLinearAllocationAreasBlack(), v8::internal::GlobalSafepointInterruptTask::RunInternal(), v8::internal::ScheduleMinorGCTaskObserver::ScheduleMinorGCTaskObserver(), SetUp(), SetUpSpaces(), StartIncrementalMarkingOnInterrupt(), StartTearDown(), TearDownWithSharedHeap(), UnmarkSharedLinearAllocationAreas(), and v8::internal::ScheduleMinorGCTaskObserver::~ScheduleMinorGCTaskObserver().
Here is the caller graph for this function:
|
inline |
Definition at line 1598 of file heap.h.
Referenced by EnsureSweepingCompleted(), FinishSweepingIfOutOfWork(), and PrintShortHeapStatistics().
Here is the caller graph for this function:| void v8::internal::Heap::MakeHeapIterable | ( | ) |
Definition at line 3661 of file heap.cc.
References EnsureSweepingCompleted(), kV8Only, and MakeLinearAllocationAreasIterable().
Referenced by CollectCodeStatistics(), and v8::internal::HeapObjectIterator::HeapObjectIterator().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3667 of file heap.cc.
References allocator(), v8::internal::Isolate::global_safepoint(), v8::internal::Isolate::heap(), isolate(), v8::internal::GlobalSafepoint::IterateClientIsolates(), v8::internal::IsolateSafepoint::IterateLocalHeaps(), v8::internal::HeapAllocator::MakeLinearAllocationAreasIterable(), v8::internal::LocalHeap::MakeLinearAllocationAreasIterable(), and safepoint().
Referenced by MakeHeapIterable().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 856 of file heap.h.
Referenced by v8::internal::MarkingBarrier::ActivateShared(), v8::internal::MinorMarkSweepCollector::CollectGarbage(), v8::internal::ConcurrentMarking::Join(), MarkCompact(), v8::internal::IncrementalMarking::MarkRoots(), v8::internal::ConcurrentMarking::RescheduleJobIfNeeded(), v8::internal::CppHeap::SelectMarkingType(), v8::internal::IncrementalMarking::ShouldFinalize(), v8::internal::IncrementalMarking::Step(), v8::internal::ConcurrentMarking::TryScheduleJob(), v8::internal::RecordMigratedSlotVisitor::VisitCodeTarget(), v8::internal::RecordMigratedSlotVisitor::VisitEmbeddedPointer(), WeakenDescriptorArrays(), and v8::internal::MarkingBarrier::Write().
Here is the caller graph for this function:
|
private |
Definition at line 2733 of file heap.cc.
References v8::internal::MarkCompactCollector::CollectGarbage(), contexts_disposed_, embedder_size_at_last_gc_, EmbedderSizeOfObjects(), EvaluateOldSpaceLocalPretenuring(), external_memory_, isolate_, MARK_COMPACT, mark_compact_collector(), MarkCompactEpilogue(), MarkCompactPrologue(), ms_count_, old_generation_allocation_counter_at_last_gc_, old_generation_size_at_last_gc_, old_generation_wasted_at_last_gc_, OldGenerationSizeOfObjects(), OldGenerationWastedBytes(), v8::internal::MarkCompactCollector::Prepare(), PROFILE, promoted_objects_size_, set_using_initial_limit(), SetGCState(), SizeOfObjects(), v8::internal::Heap::ExternalMemoryAccounting::total(), v8::internal::Heap::ExternalMemoryAccounting::UpdateLowSinceMarkCompact(), UpdateOldGenerationAllocationCounter(), and v8::internal::v8_flags.
Referenced by PerformGarbageCollection().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 2781 of file heap.cc.
References v8::internal::Isolate::counters(), isolate_, NOT_IN_GC, SetGCState(), TRACE_GC, and tracer().
Referenced by MarkCompact().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 2788 of file heap.cc.
References v8::internal::DescriptorLookupCache::Clear(), v8::internal::RegExpResultsCache_MatchGlobalAtom::Clear(), v8::internal::RegExpResultsCache::Clear(), v8::internal::Isolate::descriptor_lookup_cache(), isolate_, TRACE_GC, and tracer().
Referenced by MarkCompact().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1677 of file heap.h.
Referenced by v8::internal::HeapAllocator::AllocateRaw(), v8::internal::OldLargeObjectSpace::AllocateRaw(), RightTrimArray(), and v8::internal::InternalizedStringTableCleaner::VisitRootPointers().
Here is the caller graph for this function:
|
private |
Definition at line 3697 of file heap.cc.
References allocator(), v8::internal::DCHECK(), v8::internal::IsolateSafepoint::IterateLocalHeaps(), main_thread_local_heap(), v8::internal::HeapAllocator::MarkSharedLinearAllocationAreasBlack(), v8::internal::LocalHeap::MarkSharedLinearAllocationAreasBlack(), safepoint(), and v8::internal::v8_flags.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 1999 of file heap.h.
Referenced by AllocationLimitOvershotByLargeMargin(), CanExpandOldGeneration(), CollectGarbage(), ConfigureHeap(), EnsureMinimumRemainingAllocationLimit(), Heap(), InvokeNearHeapLimitCallback(), IsIneffectiveMarkCompact(), IsOldGenerationExpansionAllowed(), MaxReserved(), v8::internal::MemoryBalancer::RefreshLimit(), SetOldGenerationAndGlobalMaximumSize(), and ShouldOptimizeForMemoryUsage().
Here is the caller graph for this function:
|
inline |
Definition at line 1337 of file heap.h.
Referenced by GarbageCollectionEpilogue().
Here is the caller graph for this function:
|
inline |
Definition at line 1294 of file heap.h.
Referenced by v8::internal::Isolate::InitializeIsShortBuiltinCallsEnabled().
Here is the caller graph for this function:
|
static |
Definition at line 289 of file heap.cc.
References AllocatorLimitOnMaxOldGenerationSize(), DCHECK_EQ, DefaulMaxHeapSize(), v8::internal::GB, and v8::internal::v8_flags.
Referenced by HeapSizeFromPhysicalMemory().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 189 of file heap-inl.h.
References DCHECK_EQ, v8::internal::kCode, v8::internal::kMaxRegularHeapObjectSize, max_regular_code_object_size_, and v8::internal::MemoryChunkLayout::MaxRegularCodeObjectSize().
Referenced by v8::internal::HeapAllocator::AllocateRaw(), v8::internal::HeapAllocator::AllocateRawLargeInternal(), v8::internal::compiler::AllocationBuilder::CanAllocateArray(), and v8::internal::compiler::AllocationBuilder::CanAllocateSloppyArgumentElements().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::MaxReserved | ( | ) | const |
Definition at line 202 of file heap.cc.
References max_old_generation_size(), max_semi_space_size_, and v8::internal::v8_flags.
Referenced by CanExpandOldGeneration(), and SetUp().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::MeasureMemory | ( | std::unique_ptr< v8::MeasureMemoryDelegate > | delegate, |
| v8::MeasureMemoryExecution | execution | ||
| ) |
Definition at line 4425 of file heap.cc.
References FindAllNativeContexts(), isolate(), and memory_measurement_.
Referenced by v8::Isolate::MeasureMemory().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 846 of file heap.h.
Referenced by v8::internal::SemiSpace::AllocateFreshPage(), v8::internal::LargeObjectSpace::AllocateLargePage(), v8::internal::ReadOnlySpace::AllocateNextPage(), v8::internal::ReadOnlySpace::AllocateNextPageAt(), Available(), CanExpandOldGeneration(), CommittedMemoryExecutable(), Contains(), ContainsCode(), v8::internal::Sweeper::EnsureMajorCompleted(), v8::internal::ReadOnlySpace::EnsureSpaceForAllocation(), v8::internal::MarkCompactCollector::Finish(), v8::internal::NewLargeObjectSpace::FreeDeadObjects(), GarbageCollectionPrologueInSafepoint(), InSpace(), InSpaceSlow(), v8::internal::GCTracer::Print(), v8::internal::GCTracer::PrintNVP(), PrintShortHeapStatistics(), RecordStats(), ReplaceReadOnlySpace(), v8::internal::SemiSpace::RewindPages(), v8::internal::ReadOnlySpace::Seal(), v8::internal::LargeObjectSpace::ShrinkPageToObjectSize(), v8::internal::ReadOnlyPageMetadata::ShrinkToHighWaterMark(), v8::internal::GCTracer::StartInSafepoint(), v8::internal::MinorMarkSweepCollector::StartSweepNewSpace(), v8::internal::GCTracer::StopInSafepoint(), v8::internal::MinorMarkSweepCollector::SweepNewLargeSpace(), TearDown(), v8::internal::LargeObjectSpace::TearDown(), v8::internal::HeapAllocator::TryResizeLargeObject(), v8::internal::Sweeper::ZeroOrDiscardUnusedMemory(), and v8::internal::SemiSpace::~SemiSpace().
Here is the caller graph for this function:
|
inline |
|
inlineprivate |
Definition at line 2115 of file heap.h.
Referenced by v8::internal::MarkCompactCollector::CollectGarbage(), and v8::internal::MarkCompactCollector::StartMarking().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 1971 of file heap.h.
Referenced by CurrentHeapGrowingMode(), NotifyOldGenerationExpansion(), and StartIncrementalMarkingIfAllocationLimitIsReached().
Here is the caller graph for this function:| void v8::internal::Heap::MemoryPressureNotification | ( | v8::MemoryPressureLevel | level, |
| bool | is_isolate_locked | ||
| ) |
Definition at line 4330 of file heap.cc.
References CheckMemoryPressure(), isolate(), v8::kCritical, v8::kModerate, v8::kNone, memory_pressure_level_, v8::internal::Isolate::stack_guard(), task_runner_, and TRACE_EVENT1.
Referenced by v8::internal::wasm::WasmImportWrapperCache::LazyInitialize(), v8::Isolate::MemoryPressureNotification(), v8::internal::wasm::WasmCodeManager::NewNativeModule(), and v8::internal::BackingStore::TryAllocateAndPartiallyCommitMemory().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 2003 of file heap.h.
Referenced by EnsureMinimumRemainingAllocationLimit(), and v8::internal::MemoryBalancer::RefreshLimit().
Here is the caller graph for this function:
|
static |
Definition at line 272 of file heap.cc.
References v8::internal::FIRST_GROWABLE_PAGED_SPACE, v8::internal::MutablePageMetadata::kPageSize, and v8::internal::LAST_GROWABLE_PAGED_SPACE.
Referenced by v8::ResourceConstraints::ConfigureDefaultsFromHeapSize(), and ConfigureHeap().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 2054 of file heap.h.
Referenced by GarbageCollectionPrologue(), and StartMinorMSConcurrentMarkingIfNeeded().
Here is the caller graph for this function:
|
inline |
Definition at line 860 of file heap.h.
Referenced by v8::internal::ConcurrentMarking::GetMinorMaxConcurrency(), HandleGCRequest(), v8::internal::ConcurrentMarking::IsWorkLeft(), v8::internal::IncrementalMarking::MarkRoots(), v8::internal::ConcurrentMarking::RescheduleJobIfNeeded(), v8::internal::ConcurrentMarking::RunMinor(), v8::internal::ConcurrentMarking::RunMinorImpl(), and v8::internal::ConcurrentMarking::TryScheduleJob().
Here is the caller graph for this function:
|
inline |
Definition at line 1595 of file heap.h.
Referenced by EnsureSweepingCompleted(), EnsureYoungSweepingCompleted(), PrintShortHeapStatistics(), and v8::internal::IncrementalMarking::Start().
Here is the caller graph for this function:
|
private |
Definition at line 2768 of file heap.cc.
References CHECK_EQ, v8::internal::DCHECK(), gc_state(), incremental_marking(), MINOR_MARK_SWEEP, minor_mark_sweep_collector_, NOT_IN_GC, SetGCState(), TRACE_GC, tracer(), use_new_space(), and v8::internal::v8_flags.
Referenced by PerformGarbageCollection().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
|
static |
Definition at line 268 of file heap.cc.
References DefaultMinSemiSpaceSize(), and YoungGenerationSizeFromSemiSpaceSize().
Referenced by v8::ResourceConstraints::ConfigureDefaultsFromHeapSize().
Here is the call graph for this function:
Here is the caller graph for this function:| double v8::internal::Heap::MonotonicallyIncreasingTimeInMs | ( | ) | const |
Definition at line 4244 of file heap.cc.
References v8::internal::V8::GetCurrentPlatform(), v8::base::TimeConstants::kMillisecondsPerSecond, and v8::Platform::MonotonicallyIncreasingTime().
Referenced by v8::internal::Heap::AllocationTrackerForDebugging::AllocationEvent(), CollectGarbageOnMemoryPressure(), GarbageCollectionEpilogue(), v8::internal::StackGuard::HandleInterrupts(), v8::internal::Isolate::Init(), v8::internal::Heap::AllocationTrackerForDebugging::MoveEvent(), NotifyLoadingStarted(), v8::internal::MemoryReducer::NotifyMarkCompact(), v8::internal::MemoryReducer::NotifyPossibleGarbage(), ShouldOptimizeForLoadTime(), and v8::internal::V8FileLogger::Time().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::MoveRange | ( | Tagged< HeapObject > | dst_object, |
| const TSlot | dst_slot, | ||
| const TSlot | src_slot, | ||
| int | len, | ||
| WriteBarrierMode | mode | ||
| ) |
Definition at line 2117 of file heap.cc.
References v8::internal::anonymous_namespace{heap.cc}::CopyOrMoveRangeImpl(), v8::internal::DCHECK(), v8::internal::kTaggedSize, v8::internal::MemMove(), and mode().
Here is the call graph for this function:| V8_EXPORT_PRIVATE void v8::internal::Heap::MoveRange | ( | Tagged< HeapObject > | dst_object, |
| TSlot | dst_slot, | ||
| TSlot | src_slot, | ||
| int | len, | ||
| WriteBarrierMode | mode | ||
| ) |
Referenced by v8::internal::TaggedArrayBase< Derived, ShapeT, Super >::MoveElements(), and v8::internal::RUNTIME_FUNCTION().
Here is the caller graph for this function:
|
inline |
| bool v8::internal::Heap::MustBeInSharedOldSpace | ( | Tagged< HeapObject > | value | ) |
Definition at line 4525 of file heap.cc.
References v8::internal::ReadOnlyHeap::Contains(), v8::internal::HeapLayout::InYoungGeneration(), v8::internal::InstanceTypeChecker::IsExternalString(), v8::internal::InstanceTypeChecker::IsInternalizedString(), isolate(), and v8::internal::value.
Here is the call graph for this function:Definition at line 504 of file heap.h.
References v8::internal::Tagged< Object >.
Referenced by FindAllNativeContexts(), FindAllRetainedMaps(), NumberOfNativeContexts(), ProcessNativeContexts(), and ProcessWeakListRoots().
Here is the caller graph for this function:
|
inline |
Definition at line 780 of file heap.h.
Referenced by CanPromoteYoungAndExpandOldGeneration(), v8::internal::MinorMarkSweepCollector::CollectGarbage(), v8::internal::ScavengerCollector::CollectGarbage(), ExpandNewSpaceSize(), v8::internal::MarkCompactCollector::Finish(), v8::internal::ScavengerCollector::HandleSurvivingNewLargeObjects(), v8::internal::MarkCompactCollector::MarkObjectsFromClientHeap(), NotifyDeserializationComplete(), PerformGarbageCollection(), v8::internal::ConcurrentMarking::RunMajor(), v8::internal::ConcurrentMarking::RunMinor(), v8::internal::ConcurrentMarking::RunMinorImpl(), v8::internal::GCTracer::StartInSafepoint(), v8::internal::MinorMarkSweepCollector::Sweep(), v8::internal::MarkCompactCollector::SweepArrayBufferExtensions(), v8::internal::ScavengerCollector::SweepArrayBufferExtensions(), v8::internal::MinorMarkSweepCollector::SweepNewLargeSpace(), YoungGenerationConsumedBytes(), and YoungGenerationSizeOfObjects().
Here is the caller graph for this function:
|
inline |
Definition at line 770 of file heap.h.
Referenced by AllocateExternalBackingStore(), CanPromoteYoungAndExpandOldGeneration(), v8::internal::ScavengerCollector::CollectGarbage(), v8::internal::anonymous_namespace{heap.cc}::ComputeReducedNewSpaceSize(), CreateMutableHeapObjects(), DeactivateMajorGCInProgressFlag(), ExpandNewSpaceSize(), v8::internal::MarkCompactCollector::Finish(), v8::internal::MinorMarkSweepCollector::Finish(), GarbageCollectionEpilogueInSafepoint(), IsStressingScavenge(), v8::internal::MarkCompactCollector::MarkObjectsFromClientHeap(), v8::internal::EvacuateNewToOldSpacePageVisitor::Move(), NewSpaceAllocationCounter(), NewSpaceCapacity(), NewSpaceSize(), NewSpaceTargetCapacity(), NotifyContextDisposed(), NotifyDeserializationComplete(), v8::internal::ScavengerCollector::NumberOfScavengeTasks(), paged_new_space(), v8::internal::MarkCompactCollector::Prepare(), v8::internal::GCTracer::PrintNVP(), v8::internal::PretenuringHandler::ProcessPretenuringFeedback(), ReduceNewSpaceSize(), v8::internal::StressScavengeObserver::RequestedGCDone(), Scavenge(), SelectGarbageCollector(), semi_space_new_space(), v8::internal::HeapAllocator::Setup(), SetUpSpaces(), v8::internal::GCTracer::StartInSafepoint(), v8::internal::MinorMarkSweepCollector::StartMarking(), StartMinorMSConcurrentMarkingIfNeeded(), StartResizeNewSpace(), v8::internal::MinorMarkSweepCollector::StartSweepNewSpace(), v8::internal::StressScavengeObserver::Step(), v8::internal::MinorMarkSweepCollector::Sweep(), v8::internal::MarkCompactCollector::SweepArrayBufferExtensions(), v8::internal::ScavengerCollector::SweepArrayBufferExtensions(), v8::internal::Sweeper::SweepEmptyNewSpacePage(), Unmark(), YoungGenerationConsumedBytes(), YoungGenerationSizeOfObjects(), and YoungGenerationWastedBytes().
Here is the caller graph for this function:
|
inline |
Definition at line 1367 of file heap.h.
Referenced by v8::internal::GCTracer::PrintNVP().
Here is the caller graph for this function:| size_t v8::internal::Heap::NewSpaceAllocationCounter | ( | ) | const |
Definition at line 999 of file heap.cc.
References v8::internal::NewSpace::AllocatedSinceLastGC(), allocator(), v8::internal::DCHECK(), new_space(), new_space_, and new_space_allocation_counter_.
Referenced by GarbageCollectionPrologueInSafepoint(), and v8::internal::GCTracer::StartInSafepoint().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 166 of file heap-inl.h.
References isolate(), v8::internal::Isolate::isolate_data(), v8::internal::LinearAllocationArea::limit_address(), v8::internal::IsolateData::new_allocation_info_, new_space_, and v8::internal::v8_flags.
Referenced by v8::internal::WasmTrustedInstanceData::New().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 160 of file heap-inl.h.
References isolate(), v8::internal::Isolate::isolate_data(), v8::internal::IsolateData::new_allocation_info_, new_space_, v8::internal::LinearAllocationArea::top_address(), and v8::internal::v8_flags.
Referenced by v8::internal::WasmTrustedInstanceData::New().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::NewSpaceCapacity | ( | ) | const |
Definition at line 4043 of file heap.cc.
References v8::internal::PagedSpaceBase::Capacity(), v8::internal::NewSpace::Capacity(), new_space(), sticky_space(), v8::internal::v8_flags, and v8::internal::StickySpace::young_objects_size().
Referenced by Capacity(), RecordStats(), and SetUpSpaces().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 235 of file heap-inl.h.
References allocator(), v8::internal::kNullAddress, v8::internal::MainAllocator::limit(), new_space_, v8::internal::HeapAllocator::new_space_allocator(), and v8::internal::v8_flags.
Here is the call graph for this function:| size_t v8::internal::Heap::NewSpaceSize | ( | ) |
Definition at line 4036 of file heap.cc.
References new_space(), sticky_space(), v8::internal::v8_flags, and v8::internal::StickySpace::young_objects_size().
Referenced by PerformGarbageCollection(), PrintShortHeapStatistics(), and RecordStats().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::NewSpaceTargetCapacity | ( | ) | const |
Definition at line 4050 of file heap.cc.
References v8::internal::PagedSpaceBase::Capacity(), new_space(), sticky_space(), v8::internal::NewSpace::TotalCapacity(), v8::internal::v8_flags, and v8::internal::StickySpace::young_objects_size().
Referenced by IncrementalMarkingLimitReached(), PerformGarbageCollection(), v8::internal::PretenuringHandler::ProcessPretenuringFeedback(), and StartIncrementalMarkingIfAllocationLimitIsReached().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 229 of file heap-inl.h.
References allocator(), v8::internal::kNullAddress, new_space_, v8::internal::HeapAllocator::new_space_allocator(), v8::internal::MainAllocator::top(), and v8::internal::v8_flags.
Referenced by v8::internal::MinorMarkSweepCollector::TraceFragmentation().
Here is the call graph for this function:
Here is the caller graph for this function:| int v8::internal::Heap::NextDebuggingId | ( | ) |
Definition at line 7616 of file heap.cc.
References v8::internal::Smi::FromInt(), and v8::internal::DebugInfo::kNoDebuggingId.
Referenced by v8::internal::Debug::GetFunctionDebuggingId().
Here is the call graph for this function:
Here is the caller graph for this function:| int v8::internal::Heap::NextScriptId | ( | ) |
Definition at line 7592 of file heap.cc.
References v8::internal::Smi::FromInt(), v8::internal::Smi::kMaxValue, v8::UnboundScript::kNoScriptId, v8::internal::FullObjectSlot::Relaxed_CompareAndSwap(), v8::internal::FullObjectSlot::Relaxed_Load(), roots_table(), and v8::internal::Tagged< Smi >::value().
Referenced by v8::internal::Isolate::GetNextScriptId().
Here is the call graph for this function:
Here is the caller graph for this function:| int v8::internal::Heap::NextStackTraceId | ( | ) |
Definition at line 7626 of file heap.cc.
References v8::internal::Smi::FromInt(), and v8::internal::Smi::kMaxValue.
Here is the call graph for this function:
|
private |
Definition at line 6128 of file heap.cc.
References v8::internal::Isolate::fuzzer_rng(), isolate(), v8::base::RandomNumberGenerator::NextInt(), and v8::internal::v8_flags.
Referenced by GarbageCollectionEpilogueInSafepoint(), and SetUpSpaces().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1679 of file heap.h.
Referenced by v8::internal::MarkCompactCollector::IsUnmarkedSharedHeapObject().
Here is the caller graph for this function:| void v8::internal::Heap::NotifyBootstrapComplete | ( | ) |
Definition at line 6191 of file heap.cc.
References old_generation_capacity_after_bootstrap_, and OldGenerationCapacity().
Referenced by v8::internal::Bootstrapper::CreateEnvironment().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1905 of file heap.cc.
References contexts_disposed_, DCHECK_NOT_NULL, EnsureMinimumRemainingAllocationLimit(), initial_old_generation_size_, initial_size_overwritten_, isolate(), memory_reducer_, new_space(), preconfigured_old_generation_size_, v8::internal::Isolate::raw_native_context(), ReadOnlyRoots, RemoveDirtyFinalizationRegistriesOnContext(), ResetOldGenerationAndGlobalAllocationLimit(), v8::internal::GCTracer::ResetSurvivalEvents(), tracer(), v8::internal::IdleTaskOnContextDispose::TryPostJob(), and v8::internal::v8_flags.
Referenced by v8::Isolate::ContextDisposedNotification().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::NotifyDeserializationComplete | ( | ) |
Definition at line 6159 of file heap.cc.
References AddAllocationObserversToAllSpaces(), v8::internal::IsolateSafepoint::AssertMainThreadIsOnlyThread(), v8::internal::DCHECK(), DCHECK_IMPLIES, deserialization_complete_, FreeMainThreadLinearAllocationAreas(), need_to_remove_stress_concurrent_allocation_observer_, new_lo_space(), new_space(), v8::internal::PagedSpaceIterator::Next(), safepoint(), stress_concurrent_allocation_observer_, StressConcurrentAllocationObserver, and v8::internal::v8_flags.
Referenced by v8::internal::Isolate::Init().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7582 of file heap.cc.
References incremental_marking(), kLoadTimeNotLoading, v8::kUserVisible, load_start_time_ms_, and RecomputeLimitsAfterLoadingIfNeeded().
Referenced by v8::internal::Isolate::SetIsLoading().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7575 of file heap.cc.
References DCHECK_NE, kLoadTimeNotLoading, load_start_time_ms_, MonotonicallyIncreasingTimeInMs(), and update_allocation_limits_after_loading_.
Referenced by v8::internal::Isolate::SetIsLoading().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::NotifyObjectLayoutChange | ( | Tagged< HeapObject > | object, |
| const DisallowGarbageCollection & | , | ||
| InvalidateRecordedSlots | invalidate_recorded_slots, | ||
| InvalidateExternalPointerSlots | invalidate_external_pointer_slots, | ||
| int | new_size = 0 |
||
| ) |
Definition at line 4130 of file heap.cc.
References CHECK, v8::internal::DCHECK(), DCHECK_EQ, DCHECK_GT, v8::internal::MutablePageMetadata::FromHeapObject(), incremental_marking(), v8::internal::MemoryChunkMetadata::InTrustedSpace(), v8::internal::HeapLayout::InYoungGeneration(), isolate(), v8::internal::kNullAddress, v8::internal::kTaggedSize, v8::internal::kYes, v8::internal::ObjectLock::Lock(), v8::internal::anonymous_namespace{heap.cc}::MayContainRecordedSlots(), v8::internal::anonymous_namespace{heap.cc}::pending_layout_change_object_address, v8::internal::RememberedSet< type >::RemoveRange(), USE, V8_ENABLE_SANDBOX_BOOL, and v8::internal::v8_flags.
Referenced by v8::internal::TranslatedState::InitializeJSObjectAt(), v8::internal::TranslatedState::InitializeObjectWithTaggedFieldsAt(), and v8::internal::String::MakeExternal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 4210 of file heap.cc.
References DCHECK_EQ, v8::internal::kNullAddress, v8::internal::anonymous_namespace{heap.cc}::pending_layout_change_object_address, and v8::internal::ObjectLock::Unlock().
Referenced by v8::internal::HeapObject::set_map().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::NotifyObjectSizeChange | ( | Tagged< HeapObject > | object, |
| int | old_size, | ||
| int | new_size, | ||
| ClearRecordedSlots | clear_recorded_slots | ||
| ) |
Definition at line 4218 of file heap.cc.
References ALIGN_TO_ALLOCATION_ALIGNMENT, CreateFillerObjectAtRaw(), v8::internal::DCHECK(), DCHECK_IMPLIES, DCHECK_LE, v8::internal::WritableFreeSpace::ForNonExecutableMemory(), IsLargeObject(), v8::internal::kDontClearFreedMemory, v8::internal::kNo, kNo, and kYes.
Referenced by v8::internal::String::MakeExternal(), v8::internal::String::MakeExternalDuringGC(), v8::internal::LocalHeap::NotifyObjectSizeChange(), RightTrimArray(), and v8::internal::anonymous_namespace{bigint.cc}::RightTrimString().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::NotifyOldGenerationExpansion | ( | LocalHeap * | local_heap, |
| AllocationSpace | space, | ||
| MutablePageMetadata * | chunk, | ||
| OldGenerationExpansionNotificationOrigin | notification_origin = OldGenerationExpansionNotificationOrigin::kFromSameHeap |
||
| ) |
Definition at line 6199 of file heap.cc.
References v8::internal::Isolate::AddCodeMemoryChunk(), v8::internal::MemoryChunkMetadata::Chunk(), DCHECK_NE, deserialization_complete(), v8::internal::BaseSpace::identity(), v8::internal::LocalHeap::is_main_thread_for(), v8::internal::IsAnyCodeSpace(), isolate(), kFromSameHeap, v8::internal::MemoryChunk::MarkNeverEvacuate(), v8::internal::MB, memory_reducer(), ms_count_, v8::internal::NEW_SPACE, v8::internal::MemoryReducer::NotifyPossibleGarbage(), old_generation_capacity_after_bootstrap_, OldGenerationCapacity(), v8::internal::MutablePageMetadata::owner(), space(), and v8::internal::v8_flags.
Referenced by v8::internal::OldLargeObjectSpace::AllocateRaw().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::NumberOfDetachedContexts | ( | ) |
| size_t v8::internal::Heap::NumberOfNativeContexts | ( | ) |
Definition at line 7192 of file heap.cc.
References isolate(), v8::internal::native_context, native_contexts_list(), and v8::base::internal::result.
Here is the call graph for this function:
|
private |
| size_t v8::internal::Heap::NumberOfTrackedHeapObjectTypes | ( | ) |
Definition at line 7151 of file heap.cc.
References v8::internal::ObjectStats::OBJECT_STATS_COUNT.
Definition at line 7155 of file heap.cc.
References v8::internal::index, live_object_stats_, and v8::internal::ObjectStats::OBJECT_STATS_COUNT.
Definition at line 7161 of file heap.cc.
References v8::internal::index, live_object_stats_, and v8::internal::ObjectStats::OBJECT_STATS_COUNT.
|
inlineprivate |
Definition at line 1983 of file heap.h.
Referenced by AllocationLimitOvershotByLargeMargin(), EnsureMinimumRemainingAllocationLimit(), PercentToOldGenerationLimit(), v8::internal::GCTracer::PrintNVP(), RecomputeLimits(), RecomputeLimitsAfterLoadingIfNeeded(), ShrinkOldGenerationAllocationLimitIfNotConfigured(), v8::internal::IncrementalMarking::Start(), and v8::internal::IncrementalMarking::Stop().
Here is the caller graph for this function:
|
inline |
Definition at line 773 of file heap.h.
Referenced by v8::internal::Isolate::AddCrashKeysForIsolateAndHeapPointers(), v8::internal::PageMetadata::ConvertNewToOld(), DeactivateMajorGCInProgressFlag(), EnsureMinimumRemainingAllocationLimit(), EnsureSweepingCompleted(), v8::internal::EvacuationAllocator::Finalize(), GarbageCollectionEpilogueInSafepoint(), v8::internal::OldGenerationMemoryChunkIterator::next(), OldGenerationSizeOfObjects(), PrintFreeListsStats(), v8::internal::HeapAllocator::Setup(), ShrinkOldGenerationAllocationLimitIfNotConfigured(), v8::internal::MarkCompactCollector::StartCompaction(), sticky_space(), Unmark(), and v8::internal::MarkCompactCollector::VerifyMarking().
Here is the caller graph for this function:| size_t v8::internal::Heap::OldArrayBufferBytes | ( | ) |
Definition at line 6972 of file heap.cc.
References array_buffer_sweeper(), and v8::internal::ArrayBufferSweeper::OldBytes().
Here is the call graph for this function:
|
inline |
Definition at line 1398 of file heap.h.
Referenced by v8::internal::GCTracer::StartInSafepoint().
Here is the caller graph for this function:| size_t v8::internal::Heap::OldGenerationCapacity | ( | ) | const |
Definition at line 333 of file heap.cc.
References code_lo_space_, HasBeenSetUp(), lo_space_, v8::internal::PagedSpaceIterator::Next(), shared_lo_space_, v8::internal::LargeObjectSpace::SizeOfObjects(), space(), and trusted_lo_space_.
Referenced by CanExpandOldGeneration(), Capacity(), IsOldGenerationExpansionAllowed(), NotifyBootstrapComplete(), and NotifyOldGenerationExpansion().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::OldGenerationConsumedBytes | ( | ) | const |
Definition at line 5381 of file heap.cc.
References OldGenerationSizeOfObjects(), and OldGenerationWastedBytes().
Referenced by AllocationLimitOvershotByLargeMargin(), EnsureMinimumRemainingAllocationLimit(), PercentToOldGenerationLimit(), RecomputeLimits(), v8::internal::GCTracer::RecordGCSizeCounters(), and ShrinkOldGenerationAllocationLimitIfNotConfigured().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::OldGenerationConsumedBytesAtLastGC | ( | ) | const |
Definition at line 5435 of file heap.cc.
References old_generation_size_at_last_gc_, and old_generation_wasted_at_last_gc_.
Referenced by GlobalConsumedBytesAtLastGC(), and PercentToOldGenerationLimit().
Here is the caller graph for this function:
|
static |
Definition at line 5052 of file heap.cc.
References HeapLimitMultiplier(), and v8::internal::MB.
Referenced by YoungGenerationSizeFromOldGenerationSize().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::OldGenerationSizeOfObjects | ( | ) | const |
Definition at line 5351 of file heap.cc.
References code_lo_space(), code_space(), lo_space(), v8::internal::StickySpace::old_objects_size(), old_space(), shared_lo_space(), shared_space(), v8::internal::LargeObjectSpace::SizeOfObjects(), sticky_space(), trusted_lo_space(), trusted_space(), and v8::internal::v8_flags.
Referenced by CollectGarbage(), GlobalSizeOfObjects(), HasHighFragmentation(), v8::internal::MemoryBalancer::HeartbeatUpdate(), v8::internal::IncrementalMarking::IsBelowActivationThresholds(), MarkCompact(), OldGenerationConsumedBytes(), v8::internal::MemoryBalancer::RecomputeLimits(), RecomputeLimitsAfterLoadingIfNeeded(), v8::internal::IncrementalMarking::Start(), and v8::internal::IncrementalMarking::Stop().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 1941 of file heap.h.
References v8::internal::v8_flags.
Referenced by IncrementalMarkingLimitReached(), RecomputeLimitsAfterLoadingIfNeeded(), ShouldExpandOldGenerationOnSlowAllocation(), and StartIncrementalMarkingIfAllocationLimitIsReached().
Here is the caller graph for this function:
|
static |
Definition at line 5092 of file heap.cc.
References v8::internal::DCHECK(), DCHECK_GT, DefaulMaxHeapSize(), DefaultMaxSemiSpaceSize(), and v8::internal::v8_flags.
Referenced by YoungGenerationSizeFromOldGenerationSize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 5102 of file heap.cc.
References HeapLimitMultiplier(), kPointerMultiplier, and v8::internal::v8_flags.
Referenced by YoungGenerationSizeFromOldGenerationSize().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::OldGenerationWastedBytes | ( | ) | const |
Definition at line 5371 of file heap.cc.
References v8::internal::PagedSpaceIterator::Next(), and space().
Referenced by GlobalWastedBytes(), MarkCompact(), OldGenerationConsumedBytes(), RecomputeLimitsAfterLoadingIfNeeded(), v8::internal::IncrementalMarking::Start(), and v8::internal::IncrementalMarking::Stop().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 176 of file heap-inl.h.
References v8::internal::MainAllocator::allocation_limit_address(), allocator(), and v8::internal::HeapAllocator::old_space_allocator().
Referenced by v8::internal::WasmTrustedInstanceData::New().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 172 of file heap-inl.h.
References v8::internal::MainAllocator::allocation_top_address(), allocator(), and v8::internal::HeapAllocator::old_space_allocator().
Referenced by v8::internal::WasmTrustedInstanceData::New().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::OnMoveEvent | ( | Tagged< HeapObject > | source, |
| Tagged< HeapObject > | target, | ||
| int | size_in_bytes | ||
| ) |
Definition at line 3483 of file heap.cc.
References v8::internal::Tagged< HeapObject >::address(), allocation_trackers_, heap_profiler(), isolate_, LOG, LOG_CODE_EVENT, v8::internal::HeapProfiler::ObjectMoveEvent(), and PROFILE.
Referenced by LeftTrimFixedArray(), v8::internal::Scavenger::MigrateObject(), and v8::internal::ProfilingMigrationObserver::Move().
Here is the call graph for this function:
Here is the caller graph for this function:| std::optional< StackState > v8::internal::Heap::overridden_stack_state | ( | ) | const |
Definition at line 6243 of file heap.cc.
References embedder_stack_state_, and embedder_stack_state_origin_.
Referenced by v8::internal::CppHeap::DetachIsolate(), and v8::internal::CppHeap::overridden_stack_state().
Here is the caller graph for this function:
|
inline |
Definition at line 426 of file heap-inl.h.
References v8::internal::PagedNewSpace::From(), and new_space().
Referenced by EnsureSweepingCompleted(), EnsureYoungSweepingCompleted(), v8::internal::Sweeper::PrepareToBeSweptPage(), ReduceNewSpaceSize(), v8::internal::MinorMarkSweepCollector::StartMarking(), StartMinorMSConcurrentMarkingIfNeeded(), StartResizeNewSpace(), v8::internal::MinorMarkSweepCollector::StartSweepNewSpace(), v8::internal::MinorMarkSweepCollector::TraceFragmentation(), v8::internal::MarkCompactCollector::VerifyMarking(), and YoungGenerationWastedBytes().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 152 of file heap-inl.h.
References v8::internal::CODE_SPACE, v8::internal::DCHECK(), v8::internal::OLD_SPACE, v8::internal::SHARED_SPACE, v8::internal::SHARED_TRUSTED_SPACE, space_, and v8::internal::TRUSTED_SPACE.
Referenced by v8::internal::MainAllocator::FreeLinearAllocationAreaAndResetFreeList(), v8::internal::PagedSpaceIterator::Next(), v8::internal::Sweeper::PrepareToBeSweptPage(), and v8::internal::PagedSpaceAllocatorPolicy::RefillLab().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 2449 of file heap.cc.
References CHECK, concurrent_marking(), v8::internal::Sweeper::ContributeAndWaitForPromotedPagesIteration(), deserialization_complete(), v8::internal::Isolate::global_safepoint(), v8::internal::Isolate::heap(), isolate(), v8::internal::GlobalSafepoint::IterateClientIsolates(), v8::internal::MARK_COMPACTOR, v8::internal::ConcurrentMarking::Pause(), sweeper(), and v8::internal::v8_flags.
Referenced by PerformGarbageCollection(), and StartIncrementalMarking().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 5628 of file heap.cc.
References global_allocation_limit(), GlobalConsumedBytes(), GlobalConsumedBytesAtLastGC(), and v8::internal::anonymous_namespace{heap.cc}::PercentToLimit().
Referenced by IncrementalMarkingLimitReached().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 5622 of file heap.cc.
References old_generation_allocation_limit(), OldGenerationConsumedBytes(), OldGenerationConsumedBytesAtLastGC(), and v8::internal::anonymous_namespace{heap.cc}::PercentToLimit().
Referenced by IncrementalMarkingLimitReached().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 2299 of file heap.cc.
References v8::internal::anonymous_namespace{heap.cc}::ClearStubCaches(), collection_barrier_, v8::internal::anonymous_namespace{heap.cc}::CollectorScopeId(), v8::internal::CppHeap::CompactAndSweep(), CompleteSweepingFull(), CompleteSweepingYoung(), v8::internal::Isolate::counters(), cpp_heap(), v8::internal::DCHECK(), DCHECK_EQ, DCHECK_IMPLIES, v8::internal::Isolate::eternal_handles(), FreeLinearAllocationAreas(), v8::internal::CppHeap::From(), GarbageCollectionEpilogueInSafepoint(), GarbageCollectionPrologueInSafepoint(), v8::internal::Isolate::global_handles(), v8::internal::Isolate::global_safepoint(), incremental_marking_, v8::internal::GlobalHandles::InvokeFirstPassWeakCallbacks(), v8::internal::Isolate::is_shared_space_isolate(), isolate(), isolate_, IsYoungGenerationCollector(), v8::internal::GlobalSafepoint::IterateClientIsolates(), v8::internal::GCTracer::kAtomic, v8::internal::kGlobalSafepointForSharedSpaceIsolate, v8::internal::kMain, v8::internal::MARK_COMPACTOR, MarkCompact(), v8::internal::MINOR_MARK_SWEEPER, MinorMarkSweep(), new_lo_space(), NewSpaceSize(), NewSpaceTargetCapacity(), v8::base::TimeTicks::Now(), PauseConcurrentThreadsInClients(), PerformHeapVerification(), v8::internal::EternalHandles::PostGarbageCollectionProcessing(), v8::internal::Relocatable::PostGarbageCollectionProcessing(), pretenuring_handler_, v8::internal::PretenuringHandler::ProcessPretenuringFeedback(), ResumeConcurrentThreadsInClients(), Scavenge(), v8::internal::SCAVENGER, ShrinkOldGenerationAllocationLimitIfNotConfigured(), v8::internal::LargeObjectSpace::SizeOfObjects(), v8::internal::GCTracer::StartAtomicPause(), v8::internal::GCTracer::StartCycle(), v8::internal::GCTracer::StartInSafepoint(), v8::internal::GCTracer::StopInSafepoint(), TRACE_GC, TRACE_GC_EPOCH, tracer(), v8::internal::GCTracer::UpdateCurrentEvent(), UpdateSurvivalStatistics(), using_initial_limit(), and v8::internal::v8_flags.
Referenced by CollectGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 2436 of file heap.cc.
References v8::internal::Isolate::global_safepoint(), v8::internal::Isolate::heap(), isolate(), v8::internal::GlobalSafepoint::IterateClientIsolates(), and v8::internal::HeapVerifier::VerifyHeapIfEnabled().
Referenced by PerformGarbageCollection().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::PostFinalizationRegistryCleanupTaskIfNeeded | ( | ) |
Definition at line 7039 of file heap.cc.
References HasDirtyJSFinalizationRegistries(), is_finalization_registry_cleanup_task_posted_, and task_runner_.
Referenced by v8::internal::FinalizationRegistryCleanupTask::RunInternal().
Here is the call graph for this function:
Here is the caller graph for this function:| Tagged< HeapObject > v8::internal::Heap::PrecedeWithFiller | ( | Tagged< HeapObject > | object, |
| int | filler_size | ||
| ) |
Definition at line 3157 of file heap.cc.
References CreateFillerObjectAt(), and v8::internal::HeapObject::FromAddress().
Referenced by v8::internal::MainAllocator::AllocateFastAligned(), and v8::internal::ReadOnlySpace::TryAllocateLinearlyAligned().
Here is the call graph for this function:
Here is the caller graph for this function:| Tagged< HeapObject > v8::internal::Heap::PrecedeWithFillerBackground | ( | Tagged< HeapObject > | object, |
| int | filler_size | ||
| ) |
Definition at line 3163 of file heap.cc.
References CreateFillerObjectAtBackground(), v8::internal::WritableFreeSpace::ForNonExecutableMemory(), and v8::internal::HeapObject::FromAddress().
Referenced by AlignWithFillerBackground().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::PreciseCollectAllGarbage | ( | GCFlags | gc_flags, |
| GarbageCollectionReason | gc_reason, | ||
| const GCCallbackFlags | gc_callback_flags = kNoGCCallbackFlags |
||
| ) |
Definition at line 1446 of file heap.cc.
References CollectAllGarbage(), and FinalizeIncrementalMarkingAtomicallyIfRunning().
Referenced by v8::internal::compiler::CompilationDependencies::Commit(), v8::internal::HeapObjectsMap::UpdateHeapObjectsMap(), and wasm::StoreImpl::~StoreImpl().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1683 of file heap.h.
Referenced by v8::internal::ConcurrentMarking::FlushPretenuringFeedback(), and v8::internal::MinorMarkSweepCollector::MarkLiveObjects().
Here is the caller graph for this function:| void v8::internal::Heap::PrintFreeListsStats | ( | ) |
Definition at line 678 of file heap.cc.
References v8::internal::PagedSpaceBase::Available(), v8::internal::PagedSpaceBase::Capacity(), v8::internal::DCHECK(), v8::internal::FreeListCategory::FreeListLength(), isolate_, v8::internal::KB, v8::internal::kFirstCategory, v8::internal::length, v8::internal::MB, old_space(), old_space_, v8::internal::PrintIsolate(), v8::internal::PagedSpaceBase::Size(), v8::internal::FreeListCategory::SumFreeList(), v8::internal::v8_flags, and v8::internal::PagedSpaceBase::Waste().
Referenced by v8::internal::GCTracer::NotifyFullSweepingCompletedAndStopCycleIfFinished(), and v8::internal::GCTracer::StopCycle().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6118 of file heap.cc.
References max_marking_limit_reached_, and v8::internal::PrintF().
Referenced by TearDown().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6123 of file heap.cc.
References v8::internal::StressScavengeObserver::MaxNewSpaceSizeReached(), v8::internal::PrintF(), and stress_scavenge_observer_.
Referenced by TearDown().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::PrintShortHeapStatistics | ( | ) |
Definition at line 577 of file heap.cc.
References Available(), v8::internal::LargeObjectSpace::Available(), v8::internal::NewLargeObjectSpace::Available(), v8::internal::PagedSpaceBase::Available(), backing_store_bytes(), code_lo_space_, code_space_, CommittedMemory(), v8::internal::BaseSpace::CommittedMemory(), external_memory(), external_memory_callback_, v8::internal::MemoryAllocator::GetPooledChunksCount(), v8::base::TimeDelta::InMillisecondsF(), isolate_, v8::internal::KB, v8::internal::MutablePageMetadata::kPageSize, lo_space_, major_sweeping_in_progress(), memory_allocator(), minor_sweeping_in_progress(), new_lo_space_, new_space_, NewSpaceSize(), old_space_, v8::internal::PrintIsolate(), read_only_space_, v8::internal::ReadOnlySpace::Size(), SizeOfObjects(), v8::internal::LargeObjectSpace::SizeOfObjects(), sweeping_in_progress(), total_gc_time_ms_, trusted_lo_space_, trusted_space_, and v8::internal::v8_flags.
Referenced by v8::internal::GCTracer::StopObservablePause().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3026 of file heap.cc.
References allocation_sites_list(), v8::internal::Cast(), set_allocation_sites_list(), and v8::internal::VisitWeakList< AllocationSiteWithWeakNext >().
Referenced by ProcessAllWeakReferences().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3013 of file heap.cc.
References ProcessAllocationSites(), ProcessDirtyJSFinalizationRegistries(), and ProcessNativeContexts().
Here is the call graph for this function:
|
private |
Definition at line 3035 of file heap.cc.
References dirty_js_finalization_registries_list(), isolate(), set_dirty_js_finalization_registries_list(), set_dirty_js_finalization_registries_list_tail(), and v8::internal::VisitWeakList< JSFinalizationRegistry >().
Referenced by ProcessAllWeakReferences().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3019 of file heap.cc.
References native_contexts_list(), set_native_contexts_list(), and v8::internal::VisitWeakList< Context >().
Referenced by ProcessAllWeakReferences().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3046 of file heap.cc.
References allocation_sites_list(), v8::internal::Cast(), dirty_js_finalization_registries_list(), dirty_js_finalization_registries_list_tail(), native_contexts_list(), v8::internal::WeakObjectRetainer::RetainAs(), set_allocation_sites_list(), set_dirty_js_finalization_registries_list(), set_dirty_js_finalization_registries_list_tail(), and set_native_contexts_list().
Here is the call graph for this function:
|
inline |
Definition at line 1362 of file heap.h.
Referenced by v8::internal::GCTracer::PrintNVP().
Here is the caller graph for this function:
|
inlineprivate |
| void v8::internal::Heap::PublishMainThreadPendingAllocations | ( | ) |
Definition at line 1040 of file heap.cc.
References allocator(), and v8::internal::HeapAllocator::PublishPendingAllocations().
Referenced by v8::internal::maglev::MaglevCompilationInfo::MaglevCompilationInfo(), v8::internal::compiler::PipelineCompilationJob::PrepareJobImpl(), and v8::internal::IncrementalMarking::Step().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1809 of file heap.cc.
References CanExpandOldGeneration().
Referenced by CheckHeapLimitReached(), CollectAllAvailableGarbage(), and CollectGarbageWithRetry().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 781 of file heap.h.
Referenced by v8::internal::Isolate::AddCrashKeysForIsolateAndHeapPointers(), v8::internal::anonymous_namespace{read-only-promotion.cc}::ReadOnlyPromotionImpl::CopyToReadOnlyHeap(), v8::internal::SnapshotCreatorImpl::CreateBlob(), CreateReadOnlyHeapObjects(), v8::internal::ETWJITInterface::EtwIsolateOperations::HeapReadOnlySpaceWritable(), v8::internal::Deserializer< IsolateT >::ReadReadOnlyHeapRef(), v8::internal::Serializer::SerializeReadOnlyObjectReference(), v8::internal::ReadOnlyArtifacts::VerifyHeapAndSpaceRelationships(), and v8::internal::SnapshotCreatorImpl::~SnapshotCreatorImpl().
Here is the caller graph for this function:
|
private |
Definition at line 2614 of file heap.cc.
References CHECK_EQ, CHECK_GE, CheckIneffectiveMarkCompact(), ComputeNewAllocationLimits(), v8::internal::DCHECK(), global_allocation_limit(), v8::internal::anonymous_namespace{heap.cc}::GlobalMemorySizeFromV8Size(), HasLowYoungGenerationAllocationRate(), IsYoungGenerationCollector(), v8::internal::MARK_COMPACTOR, max_global_memory_size_, max_old_generation_size_, mb_, old_generation_allocation_limit(), old_generation_allocation_limit_, OldGenerationConsumedBytes(), SetOldGenerationAndGlobalAllocationLimit(), v8::internal::time, tracer(), using_initial_limit(), and v8::internal::v8_flags.
Referenced by CollectGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 2659 of file heap.cc.
References AllocationLimitOvershotByLargeMargin(), CHECK_EQ, CHECK_GE, ComputeNewAllocationLimits(), v8::internal::DCHECK(), embedder_size_at_last_gc_, EmbedderSizeOfObjects(), external_memory_, global_allocation_limit(), GlobalMemoryAvailable(), v8::internal::anonymous_namespace{heap.cc}::GlobalMemorySizeFromV8Size(), incremental_marking(), max_global_memory_size_, max_old_generation_size_, old_generation_allocation_limit(), old_generation_allocation_limit_, old_generation_size_at_last_gc_, old_generation_wasted_at_last_gc_, OldGenerationSizeOfObjects(), OldGenerationSpaceAvailable(), OldGenerationWastedBytes(), set_using_initial_limit(), SetOldGenerationAndGlobalAllocationLimit(), v8::internal::Heap::ExternalMemoryAccounting::total(), update_allocation_limits_after_loading_, v8::internal::Heap::ExternalMemoryAccounting::UpdateLowSinceMarkCompact(), and UpdateOldGenerationAllocationCounter().
Referenced by NotifyLoadingEnded(), and StartIncrementalMarking().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::RecordStats | ( | HeapStats * | stats | ) |
Definition at line 5325 of file heap.cc.
References v8::internal::Isolate::allocator(), v8::internal::MemoryAllocator::Available(), v8::internal::PagedSpaceBase::Capacity(), v8::internal::ReadOnlySpace::Capacity(), code_lo_space_, v8::internal::HeapStats::code_lo_space_size, code_space_, v8::internal::HeapStats::code_space_capacity, v8::internal::HeapStats::code_space_size, v8::internal::HeapStats::end_marker, v8::internal::AccountingAllocator::GetCurrentMemoryUsage(), GetFromRingBuffer(), v8::base::OS::GetLastError(), v8::internal::AccountingAllocator::GetMaxMemoryUsage(), v8::internal::Isolate::global_handles(), isolate_, v8::internal::HeapStats::kEndMarker, v8::internal::HeapStats::kStartMarker, v8::internal::HeapStats::last_few_messages, lo_space_, v8::internal::HeapStats::lo_space_size, v8::internal::HeapStats::malloced_memory, v8::internal::HeapStats::malloced_peak_memory, v8::internal::HeapStats::map_space_capacity, v8::internal::HeapStats::map_space_size, memory_allocator(), v8::internal::HeapStats::memory_allocator_capacity, v8::internal::HeapStats::memory_allocator_size, v8::internal::HeapStats::new_space_capacity, v8::internal::HeapStats::new_space_size, NewSpaceCapacity(), NewSpaceSize(), old_space_, v8::internal::HeapStats::old_space_capacity, v8::internal::HeapStats::old_space_size, v8::internal::HeapStats::os_error, read_only_space_, v8::internal::GlobalHandles::RecordStats(), v8::internal::HeapStats::ro_space_capacity, v8::internal::HeapStats::ro_space_size, v8::internal::MemoryAllocator::Size(), v8::internal::LargeObjectSpace::Size(), v8::internal::ReadOnlySpace::Size(), and v8::internal::HeapStats::start_marker.
Here is the call graph for this function:
|
private |
Definition at line 4025 of file heap.cc.
References v8::internal::anonymous_namespace{heap.cc}::ComputeReducedNewSpaceSize(), v8::internal::PagedNewSpace::FinishShrinking(), new_lo_space_, new_space(), paged_new_space(), semi_space_new_space(), v8::internal::NewLargeObjectSpace::SetCapacity(), v8::internal::SemiSpaceNewSpace::Shrink(), and v8::internal::v8_flags.
Referenced by ReduceNewSpaceSizeForTesting(), and ResizeNewSpace().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::ReduceNewSpaceSizeForTesting | ( | ) |
Definition at line 4006 of file heap.cc.
References ReduceNewSpaceSize().
Here is the call graph for this function:Definition at line 213 of file heap-inl.h.
References v8::internal::Heap::ExternalStringTable::AddString(), v8::internal::DCHECK(), external_string_table_, v8::internal::InstanceTypeChecker::IsExternalString(), and v8::internal::InstanceTypeChecker::IsThinString().
Referenced by v8::internal::Factory::InternalizeExternalString(), v8::internal::String::MakeExternal(), v8::internal::String::MakeExternalDuringGC(), v8::internal::Factory::NewExternalStringFromOneByte(), v8::internal::Factory::NewExternalStringFromTwoByte(), and v8::internal::anonymous_namespace{deserializer.cc}::PostProcessExternalString().
Here is the call graph for this function:
Here is the caller graph for this function:| StrongRootsEntry * v8::internal::Heap::RegisterStrongRoots | ( | const char * | label, |
| FullObjectSlot | start, | ||
| FullObjectSlot | end | ||
| ) |
Definition at line 6976 of file heap.cc.
References v8::internal::DCHECK(), DCHECK_NULL, v8::internal::compiler::end(), v8::internal::StrongRootsEntry::end, isolate(), v8::internal::StrongRootsEntry::next, v8::internal::StrongRootsEntry::prev, v8::internal::StrongRootsEntry::start, strong_roots_head_, and strong_roots_mutex_.
Referenced by v8::internal::StrongRootAllocatorBase::allocate_impl(), and v8::internal::IdentityMapBase::InsertEntry().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 6947 of file heap.cc.
References v8::internal::MutablePageMetadata::kPageSize, kRememberedUnmappedPages, remembered_unmapped_pages_, and remembered_unmapped_pages_index_.
Referenced by Heap(), and v8::internal::MemoryAllocator::PreFreeMemory().
Here is the caller graph for this function:| void v8::internal::Heap::RemoveAllocationObserversFromAllSpaces | ( | AllocationObserver * | observer, |
| AllocationObserver * | new_space_observer | ||
| ) |
Definition at line 1034 of file heap.cc.
References allocator(), v8::internal::DCHECK(), and v8::internal::HeapAllocator::RemoveAllocationObserver().
Referenced by v8::internal::StressConcurrentAllocationObserver::Step(), TearDown(), and v8::internal::SamplingHeapProfiler::~SamplingHeapProfiler().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::RemoveDirtyFinalizationRegistriesOnContext | ( | Tagged< NativeContext > | context | ) |
Definition at line 7097 of file heap.cc.
References dirty_js_finalization_registries_list(), isolate(), v8::internal::anonymous_namespace{json-stringifier.cc}::no_gc, ReadOnlyRoots, set_dirty_js_finalization_registries_list(), and set_dirty_js_finalization_registries_list_tail().
Referenced by NotifyContextDisposed().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::RemoveGCEpilogueCallback | ( | v8::Isolate::GCCallbackWithData | callback, |
| void * | data | ||
| ) |
Definition at line 6452 of file heap.cc.
References gc_epilogue_callbacks_, and v8::internal::GCCallbacks::Remove().
Referenced by v8::Isolate::RemoveGCEpilogueCallback().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::RemoveGCPrologueCallback | ( | v8::Isolate::GCCallbackWithData | callback, |
| void * | data | ||
| ) |
Definition at line 6441 of file heap.cc.
References gc_prologue_callbacks_, and v8::internal::GCCallbacks::Remove().
Referenced by v8::Isolate::RemoveGCPrologueCallback().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::RemoveHeapObjectAllocationTracker | ( | HeapObjectAllocationTracker * | tracker | ) |
Definition at line 931 of file heap.cc.
References allocation_trackers_, EnableInlineAllocation(), isolate_, v8::internal::Isolate::UpdateLogObjectRelocation(), and v8::internal::v8_flags.
Referenced by v8::internal::HeapProfiler::StopHeapObjectsTracking(), v8::internal::Debug::StopSideEffectCheckMode(), and v8::internal::Heap::AllocationTrackerForDebugging::~AllocationTrackerForDebugging().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::RemoveNearHeapLimitCallback | ( | v8::NearHeapLimitCallback | callback, |
| size_t | heap_limit | ||
| ) |
Definition at line 4370 of file heap.cc.
References near_heap_limit_callbacks_, RestoreHeapLimit(), and v8::internal::UNREACHABLE().
Referenced by v8::Isolate::RemoveNearHeapLimitCallback().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::ReplaceReadOnlySpace | ( | SharedReadOnlySpace * | shared_ro_space | ) |
Definition at line 5860 of file heap.cc.
References heap_allocator_, memory_allocator(), read_only_space_, v8::internal::HeapAllocator::SetReadOnlySpace(), space(), and v8::internal::ReadOnlySpace::TearDown().
Referenced by v8::internal::ReadOnlyArtifacts::ReinstallReadOnlySpace().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 812 of file heap.cc.
References v8::internal::Isolate::CountUsage(), v8::internal::DCHECK(), deferred_counters_, v8::base::SmallVector< T, kSize, Allocator >::empty(), isolate(), and v8::base::VectorOf().
Referenced by GarbageCollectionEpilogue().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3076 of file heap.cc.
References allocation_sites_list(), ForeachAllocationSite(), isolate_, and v8::internal::Isolate::stack_guard().
Referenced by EvaluateOldSpaceLocalPretenuring().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1586 of file heap.cc.
References configured_, DCHECK_IMPLIES, v8::internal::anonymous_namespace{heap.cc}::GlobalMemorySizeFromV8Size(), initial_old_generation_size_, initial_size_overwritten_, set_using_initial_limit(), and SetOldGenerationAndGlobalAllocationLimit().
Referenced by ConfigureHeap(), and NotifyContextDisposed().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::ResizeArrayBufferExtension | ( | ArrayBufferExtension * | extension, |
| int64_t | delta | ||
| ) |
Definition at line 4389 of file heap.cc.
References array_buffer_sweeper_.
Referenced by v8::internal::ResizeHelper().
Here is the caller graph for this function:
|
private |
Definition at line 3987 of file heap.cc.
References DCHECK_IMPLIES, ExpandNewSpaceSize(), kGrow, kNone, kShrink, mode(), ReduceNewSpaceSize(), resize_new_space_mode_, ShouldResizeNewSpace(), and v8::internal::v8_flags.
Referenced by v8::internal::MarkCompactCollector::Finish(), and v8::internal::MinorMarkSweepCollector::Finish().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 707 of file heap.h.
Referenced by RemoveNearHeapLimitCallback().
Here is the caller graph for this function:
|
private |
Definition at line 2473 of file heap.cc.
References v8::internal::DCHECK(), and isolate().
Referenced by PerformGarbageCollection().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::RightTrimArray | ( | Tagged< Array > | object, |
| int | new_capacity, | ||
| int | old_capacity | ||
| ) |
Definition at line 3592 of file heap.cc.
References v8::internal::MarkingBitmap::AddressToIndex(), allocation_trackers_, v8::internal::ATOMIC, v8::internal::MarkingBitmap::ClearRange(), DCHECK_EQ, DCHECK_GE, DCHECK_LT, v8::internal::PageMetadata::FromAddress(), v8::internal::HeapObject::FromAddress(), gc_state(), incremental_marking(), IsLargeObject(), v8::internal::kClearedFreeMemoryValue, v8::internal::kNo, v8::kReleaseStore, v8::internal::kTaggedSize, v8::internal::kYes, v8::internal::MarkingBitmap::LimitAddressToIndex(), MARK_COMPACT, v8::internal::MutablePageMetadata::marking_bitmap(), marking_state(), v8::internal::anonymous_namespace{heap.cc}::MayContainRecordedSlots(), v8::internal::MemsetTagged(), NotifyObjectSizeChange(), and v8::internal::v8_flags.
Referenced by v8::internal::anonymous_namespace{elements.cc}::ElementsAccessorBase< Subclass, ElementsTraitsParam >::DecreaseLength(), v8::internal::anonymous_namespace{elements.cc}::FastElementsAccessor< Subclass, KindTraits >::DeleteAtEnd(), and v8::internal::TaggedArrayBase< Derived, ShapeT, Super >::RightTrim().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 69 of file heap-inl.h.
References isolate(), and v8::internal::Isolate::roots_table().
Referenced by CreateEarlyReadOnlyMapsAndObjects(), CreateImportantReadOnlyObjects(), CreateLateReadOnlyNonJSReceiverMaps(), CreateReadOnlyObjects(), IterateRoots(), IterateSmiRoots(), NextScriptId(), SetFunctionsMarkedForManualOptimization(), SetMessageListeners(), SetRootMaterializedObjects(), and SetRootScriptList().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 622 of file heap.h.
Referenced by v8::internal::Isolate::Deinit(), v8::internal::StringTable::DropOldData(), FreeLinearAllocationAreas(), FreeSharedLinearAllocationAreasAndResetFreeLists(), GarbageCollectionEpilogueInSafepoint(), v8::internal::PersistentHandlesList::Iterate(), v8::internal::StringTable::IterateElements(), v8::internal::GlobalSafepoint::LeaveGlobalSafepointScope(), v8::internal::LocalHeap::LocalHeap(), v8::internal::String::MakeExternalDuringGC(), MakeLinearAllocationAreasIterable(), MarkSharedLinearAllocationAreasBlack(), NotifyDeserializationComplete(), v8::internal::StringTable::NotifyElementsRemoved(), v8::internal::LocalHeap::ParkSlowPath(), v8::internal::IncrementalMarking::PauseBlackAllocation(), v8::internal::StringForwardingTable::Reset(), v8::internal::PerClientSafepointData::safepoint(), v8::internal::LocalHeap::SetUpSharedMarking(), v8::internal::LocalHeap::SleepInSafepoint(), v8::internal::LocalHeap::SleepInUnpark(), v8::internal::IncrementalMarking::StartBlackAllocation(), TearDown(), TearDownWithSharedHeap(), UnmarkSharedLinearAllocationAreas(), and v8::internal::LocalHeap::~LocalHeap().
Here is the caller graph for this function:
|
private |
Definition at line 2800 of file heap.cc.
References v8::internal::DCHECK(), DCHECK_NOT_NULL, incremental_marking(), new_space(), NOT_IN_GC, SCAVENGE, scavenger_collector_, SetGCState(), TRACE_GC, and tracer().
Referenced by PerformGarbageCollection().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 473 of file heap.cc.
References CanPromoteYoungAndExpandOldGeneration(), v8::internal::Isolate::counters(), v8::internal::DCHECK(), DCHECK_NE, incremental_marking(), isolate_, v8::internal::kFinalizeConcurrentMinorMS, v8::internal::kFinalizeMinorMSForMajorGC, v8::internal::MARK_COMPACTOR, v8::internal::MINOR_MARK_SWEEPER, v8::internal::NEW_LO_SPACE, v8::internal::NEW_SPACE, new_space(), ShouldReduceMemory(), ShouldStressCompaction(), space(), use_new_space(), v8::internal::v8_flags, and YoungGenerationCollector().
Referenced by CollectGarbage().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 430 of file heap-inl.h.
References v8::internal::SemiSpaceNewSpace::From(), and new_space().
Referenced by CanPromoteYoungAndExpandOldGeneration(), v8::internal::SemiSpace::MoveQuarantinedPage(), v8::internal::GCTracer::PrintNVP(), ReduceNewSpaceSize(), YoungGenerationConsumedBytes(), and v8::internal::anonymous_namespace{scavenger.cc}::YoungGenerationConservativeStackVisitor::~YoungGenerationConservativeStackVisitor().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 320 of file heap.cc.
References kNewLargeObjectSpaceToSemiSpaceRatio, and v8::internal::anonymous_namespace{heap.cc}::NumberOfSemiSpaces().
Referenced by ConfigureHeap().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 509 of file heap.h.
Referenced by CreateMutableHeapObjects(), v8::internal::StartupDeserializer::DeserializeIntoIsolate(), v8::internal::Factory::NewAllocationSite(), ProcessAllocationSites(), and ProcessWeakListRoots().
Here is the caller graph for this function:
|
inline |
Definition at line 518 of file heap.h.
Referenced by CreateMutableHeapObjects(), DequeueDirtyJSFinalizationRegistry(), v8::internal::StartupDeserializer::DeserializeIntoIsolate(), EnqueueDirtyJSFinalizationRegistry(), ProcessDirtyJSFinalizationRegistries(), ProcessWeakListRoots(), and RemoveDirtyFinalizationRegistriesOnContext().
Here is the caller graph for this function:
|
inline |
Definition at line 524 of file heap.h.
Referenced by CreateMutableHeapObjects(), DequeueDirtyJSFinalizationRegistry(), v8::internal::StartupDeserializer::DeserializeIntoIsolate(), EnqueueDirtyJSFinalizationRegistry(), ProcessDirtyJSFinalizationRegistries(), ProcessWeakListRoots(), and RemoveDirtyFinalizationRegistriesOnContext().
Here is the caller graph for this function:
|
inlineprivate |
|
inlineprivate |
|
inline |
Definition at line 945 of file heap.h.
Referenced by v8::internal::FinalizationRegistryCleanupTask::RunInternal().
Here is the caller graph for this function:Definition at line 500 of file heap.h.
Referenced by CreateMutableHeapObjects(), v8::internal::StartupDeserializer::DeserializeIntoIsolate(), Heap(), ProcessNativeContexts(), and ProcessWeakListRoots().
Here is the caller graph for this function:
|
inline |
|
inlineprivate |
Definition at line 1995 of file heap.h.
References v8::internal::value.
Referenced by EnsureMinimumRemainingAllocationLimit(), MarkCompact(), RecomputeLimitsAfterLoadingIfNeeded(), and ResetOldGenerationAndGlobalAllocationLimit().
Here is the caller graph for this function:| void v8::internal::Heap::SetBasicBlockProfilingData | ( | DirectHandle< ArrayList > | list | ) |
| void v8::internal::Heap::SetBuiltinsConstantsTable | ( | Tagged< FixedArray > | cache | ) |
Definition at line 7027 of file heap.cc.
Referenced by v8::internal::BuiltinsConstantsTableBuilder::Finalize().
Here is the caller graph for this function:| void v8::internal::Heap::SetConstructStubCreateDeoptPCOffset | ( | int | pc_offset | ) |
Definition at line 142 of file heap.cc.
References DCHECK_EQ, v8::internal::Smi::FromInt(), and v8::internal::Smi::zero().
Here is the call graph for this function:| void v8::internal::Heap::SetConstructStubInvokeDeoptPCOffset | ( | int | pc_offset | ) |
Definition at line 147 of file heap.cc.
References DCHECK_EQ, v8::internal::Smi::FromInt(), and v8::internal::Smi::zero().
Here is the call graph for this function:| void v8::internal::Heap::SetDeoptPCOffsetAfterAdaptShadowStack | ( | int | pc_offset | ) |
Definition at line 152 of file heap.cc.
References v8::internal::DCHECK(), v8::internal::Smi::FromInt(), v8::internal::value, and v8::internal::Smi::zero().
Here is the call graph for this function:| void v8::internal::Heap::SetDetachedContexts | ( | Tagged< WeakArrayList > | detached_contexts | ) |
Definition at line 7031 of file heap.cc.
Referenced by v8::internal::anonymous_namespace{startup-serializer.cc}::SanitizeIsolateScope::SanitizeIsolateScope().
Here is the caller graph for this function:
|
inline |
Definition at line 139 of file heap-inl.h.
Referenced by v8::internal::DoubleStringCache::Set().
Here is the caller graph for this function:| void v8::internal::Heap::SetEmbedderRootsHandler | ( | EmbedderRootsHandler * | handler | ) |
Definition at line 6226 of file heap.cc.
References embedder_roots_handler_.
Referenced by v8::Isolate::SetEmbedderRootsHandler().
Here is the caller graph for this function:
|
inline |
Definition at line 129 of file heap-inl.h.
References v8::internal::DCHECK(), isolate(), v8::internal::TaggedImpl< kRefType, StorageType >::ptr(), and roots_table().
Referenced by v8::internal::Snapshot::ClearReconstructableDataForSerialization(), and v8::internal::ManualOptimizationTable::MarkFunctionForManualOptimization().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::SetGCState | ( | HeapState | state | ) |
Definition at line 523 of file heap.cc.
References gc_state_.
Referenced by MarkCompact(), MarkCompactEpilogue(), MinorMarkSweep(), Scavenge(), and StartTearDown().
Here is the caller graph for this function:
|
inline |
Definition at line 1019 of file heap.h.
Referenced by v8::Isolate::SetGetExternallyAllocatedMemoryInBytesCallback(), and SetUpSpaces().
Here is the caller graph for this function:| void v8::internal::Heap::SetInterpreterEntryReturnPCOffset | ( | int | pc_offset | ) |
Definition at line 158 of file heap.cc.
References DCHECK_EQ, v8::internal::Smi::FromInt(), and v8::internal::Smi::zero().
Here is the call graph for this function:
|
private |
Definition at line 7389 of file heap.cc.
References v8::internal::IsolateData::is_marking_flag_, isolate(), v8::internal::Isolate::isolate_data(), and v8::internal::value.
Referenced by v8::internal::Isolate::Init(), v8::internal::IncrementalMarking::StartMarkingMajor(), v8::internal::IncrementalMarking::StartMarkingMinor(), and v8::internal::IncrementalMarking::Stop().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7397 of file heap.cc.
References v8::internal::IsolateData::is_minor_marking_flag_, isolate(), v8::internal::Isolate::isolate_data(), and v8::internal::value.
Referenced by v8::internal::IncrementalMarking::StartMarkingMinor(), and v8::internal::IncrementalMarking::Stop().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 125 of file heap-inl.h.
References roots_table(), and v8::internal::value.
Referenced by v8::Isolate::AddMessageListenerWithErrorLevel().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
private |
Definition at line 1558 of file heap.cc.
References CHECK_GE, global_allocation_limit_, isolate(), v8::internal::V8HeapTrait::kName, v8::internal::GlobalMemoryTrait::kName, old_generation_allocation_limit_, TRACE_DISABLED_BY_DEFAULT, and v8::internal::v8_flags.
Referenced by EnsureMinimumRemainingAllocationLimit(), EnsureSweepingCompleted(), RecomputeLimits(), RecomputeLimitsAfterLoadingIfNeeded(), v8::internal::MemoryBalancer::RefreshLimit(), ResetOldGenerationAndGlobalAllocationLimit(), and ShrinkOldGenerationAllocationLimitIfNotConfigured().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1551 of file heap.cc.
References v8::internal::anonymous_namespace{heap.cc}::GlobalMemorySizeFromV8Size(), max_global_memory_size_, max_old_generation_size(), and max_old_generation_size_.
Referenced by CollectGarbage(), ConfigureHeap(), and InvokeNearHeapLimitCallback().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 117 of file heap-inl.h.
References v8::internal::TaggedImpl< kRefType, StorageType >::ptr(), and roots_table().
Referenced by v8::internal::MaterializedObjectStore::EnsureStackEntries().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 121 of file heap-inl.h.
References roots_table(), and v8::internal::value.
Referenced by v8::internal::ObjectDeserializer::CommitPostProcessedObjects(), v8::internal::BackgroundCompileTask::FinalizeScript(), and v8::internal::CodeSerializer::FinishOffThreadDeserialize().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::SetSerializedGlobalProxySizes | ( | Tagged< FixedArray > | sizes | ) |
Definition at line 168 of file heap.cc.
References v8::internal::DCHECK(), and isolate().
Referenced by v8::internal::SnapshotCreatorImpl::CreateBlob().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::SetSerializedObjects | ( | Tagged< HeapObject > | objects | ) |
Definition at line 163 of file heap.cc.
References v8::internal::DCHECK(), and isolate().
Referenced by v8::internal::SnapshotCreatorImpl::AddData(), and v8::internal::anonymous_namespace{snapshot.cc}::ConvertSerializedObjectsToFixedArray().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 135 of file heap-inl.h.
Referenced by v8::internal::SmiStringCache::Set().
Here is the caller graph for this function:| void v8::internal::Heap::SetStackStart | ( | ) |
Definition at line 6248 of file heap.cc.
References main_thread_local_heap_, heap::base::Stack::SetStackStart(), and stack().
Referenced by v8::internal::Isolate::Deinitialize(), v8::internal::Isolate::Enter(), and SetUp().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::SetUp | ( | LocalHeap * | main_thread_local_heap | ) |
Definition at line 5743 of file heap.cc.
References v8::internal::Isolate::AddCodeRange(), AddGCEpilogueCallback(), AddGCPrologueCallback(), code_range_, code_range_size_, collection_barrier_, concurrent_marking_, ConcurrentMarking, configured_, ConfigureHeapDefault(), DCHECK_NOT_NULL, DCHECK_NULL, v8::internal::IsolateGroup::EnsureCodeRange(), ephemeron_remembered_set_, v8::internal::V8::FatalProcessOutOfMemory(), v8::internal::HeapLayoutTracer::GCEpiloguePrintHeapLayout(), v8::internal::HeapLayoutTracer::GCProloguePrintHeapLayout(), v8::internal::V8::GetCurrentPlatform(), v8::Platform::GetForegroundTaskRunner(), v8::internal::GetRandomMmapAddr(), heap_allocator_, v8::internal::LocalHeap::heap_allocator_, incremental_marking_, IncrementalMarking, isolate(), isolate_, v8::internal::Isolate::isolate_group(), v8::kGCTypeMarkSweepCompact, v8::kGCTypeMinorMarkSweep, v8::kGCTypeScavenge, v8::internal::kMaximalCodeRangeSize, kMmapRegionMask, LOG, main_thread_local_heap(), main_thread_local_heap_, mark_compact_collector_, MarkCompactCollector, MaxReserved(), memory_allocator_, minor_mark_sweep_collector_, MinorMarkSweepCollector, mmap_region_base_, v8::internal::Isolate::page_allocator(), v8::internal::Isolate::RequiresCodeRange(), scavenger_collector_, ScavengerCollector, SetStackStart(), Sweeper, sweeper_, task_runner_, v8::internal::v8_flags, and V8_UNLIKELY.
Referenced by v8::internal::Isolate::Init().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::SetUpFromReadOnlyHeap | ( | ReadOnlyHeap * | ro_heap | ) |
Definition at line 5851 of file heap.cc.
References DCHECK_IMPLIES, DCHECK_NOT_NULL, DCHECK_NULL, heap_allocator_, v8::internal::ReadOnlyHeap::read_only_space(), read_only_space_, v8::internal::RO_SPACE, v8::internal::HeapAllocator::SetReadOnlySpace(), and space_.
Referenced by v8::internal::Isolate::SetUpFromReadOnlyArtifacts().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::SetUpSpaces | ( | LinearAllocationArea & | new_allocation_info, |
| LinearAllocationArea & | old_allocation_info | ||
| ) |
Definition at line 5967 of file heap.cc.
References v8::internal::MainAllocator::AddAllocationObserver(), allocation_tracker_for_debugging_, allocator(), array_buffer_sweeper_, ArrayBufferSweeper, Available(), Capacity(), v8::internal::CODE_LO_SPACE, code_lo_space_, v8::internal::CODE_SPACE, code_space_, v8::internal::DCHECK(), DCHECK_NOT_NULL, dead_object_stats_, GCTracer, v8::internal::Isolate::has_shared_space(), v8::internal::Isolate::heap(), initial_semispace_size_, v8::internal::TracingFlags::is_gc_stats_enabled(), v8::internal::Isolate::is_shared_space_isolate(), v8::internal::Heap::AllocationTrackerForDebugging::IsNeeded(), isolate(), isolate_, IsStressingScavenge(), live_object_stats_, v8::internal::LO_SPACE, lo_space_, LOG, main_thread_local_heap(), max_semi_space_size_, mb_, memory_measurement_, memory_reducer_, MemoryBalancer, min_semi_space_size_, minor_gc_job_, MinorGCJob, v8::internal::NEW_LO_SPACE, new_lo_space_, v8::internal::NEW_SPACE, new_space(), new_space_, v8::internal::HeapAllocator::new_space_allocator(), NewSpaceCapacity(), NextStressMarkingLimit(), v8::base::TimeTicks::Now(), v8::internal::OLD_SPACE, old_space_, read_only_space_, v8::internal::ReturnNull(), SetGetExternallyAllocatedMemoryInBytesCallback(), v8::internal::LocalHeap::SetUpMainThread(), shared_allocation_space_, shared_lo_allocation_space_, v8::internal::SHARED_LO_SPACE, shared_lo_space_, v8::internal::SHARED_SPACE, shared_space_, v8::internal::Isolate::shared_space_isolate(), shared_trusted_allocation_space_, shared_trusted_lo_allocation_space_, v8::internal::SHARED_TRUSTED_LO_SPACE, shared_trusted_lo_space_, v8::internal::SHARED_TRUSTED_SPACE, shared_trusted_space_, space_, stress_marking_percentage_, stress_scavenge_observer_, tracer_, v8::internal::TRUSTED_LO_SPACE, trusted_lo_space_, v8::internal::TRUSTED_SPACE, trusted_space_, v8::internal::v8_flags, and V8_UNLIKELY.
Referenced by v8::internal::Isolate::Init().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 793 of file heap.h.
Referenced by v8::internal::EvacuationAllocator::Finalize(), and v8::internal::HeapAllocator::Setup().
Here is the caller graph for this function:
|
inline |
Definition at line 796 of file heap.h.
Referenced by v8::internal::HeapAllocator::Setup().
Here is the caller graph for this function:
|
inline |
Definition at line 779 of file heap.h.
Referenced by DeactivateMajorGCInProgressFlag(), OldGenerationSizeOfObjects(), v8::internal::IncrementalMarking::OldGenerationSizeOfObjects(), and Unmark().
Here is the caller graph for this function:
|
inline |
Definition at line 776 of file heap.h.
Referenced by DeactivateMajorGCInProgressFlag(), EnsureSweepingCompleted(), OldGenerationSizeOfObjects(), v8::internal::MarkCompactCollector::StartCompaction(), Unmark(), and v8::internal::MarkCompactCollector::VerifyMarking().
Here is the caller graph for this function:
|
inline |
Definition at line 799 of file heap.h.
Referenced by v8::internal::HeapAllocator::Setup().
Here is the caller graph for this function:
|
inline |
Definition at line 802 of file heap.h.
Referenced by v8::internal::HeapAllocator::Setup().
Here is the caller graph for this function:
|
inline |
|
inline |
Definition at line 783 of file heap.h.
Referenced by EnsureSweepingCompleted().
Here is the caller graph for this function:| bool v8::internal::Heap::SharedHeapContains | ( | Tagged< HeapObject > | value | ) | const |
Definition at line 4514 of file heap.cc.
References v8::internal::PagedSpaceBase::Contains(), v8::internal::LargeObjectSpace::Contains(), shared_allocation_space_, shared_lo_allocation_space_, shared_trusted_allocation_space_, shared_trusted_lo_allocation_space_, and v8::internal::value.
Here is the call graph for this function:
|
inline |
Definition at line 1420 of file heap.h.
Referenced by v8::internal::MarkCompactCollector::StartMarking(), and v8::internal::ConcurrentMarking::TryScheduleJob().
Here is the caller graph for this function:
|
private |
Definition at line 5502 of file heap.cc.
References AllocationLimitOvershotByLargeMargin(), always_allocate(), CollectionRequested(), deserialization_complete(), gc_state(), v8::internal::LocalHeap::heap(), incremental_marking(), IncrementalMarkingLimitReached(), v8::internal::LocalHeap::IsRetryOfFailedAllocation(), v8::internal::kGC, kNoLimit, OldGenerationSpaceAvailable(), ShouldOptimizeForLoadTime(), ShouldOptimizeForMemoryUsage(), and TEAR_DOWN.
Here is the call graph for this function:
|
private |
Definition at line 5548 of file heap.cc.
References AllocationLimitOvershotByLargeMargin(), always_allocate(), CanPromoteYoungAndExpandOldGeneration(), v8::internal::DCHECK(), deserialization_complete(), gc_state(), incremental_marking(), and TEAR_DOWN.
Here is the call graph for this function:| bool v8::internal::Heap::ShouldOptimizeForBattery | ( | ) | const |
Definition at line 468 of file heap.cc.
References v8::internal::Isolate::BatterySaverModeEnabled(), isolate(), and v8::internal::v8_flags.
Referenced by v8::internal::ConcurrentMarking::GetMajorMaxConcurrency(), and v8::internal::ConcurrentMarking::GetMinorMaxConcurrency().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 5490 of file heap.cc.
References AllocationLimitOvershotByLargeMargin(), kLoadTimeNotLoading, kMaxLoadTimeMs, load_start_time_ms_, and MonotonicallyIncreasingTimeInMs().
Referenced by CollectGarbage(), IncrementalMarkingLimitReached(), and ShouldExpandOldGenerationOnSlowAllocation().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::ShouldOptimizeForMemoryUsage | ( | ) |
Definition at line 3898 of file heap.cc.
References CanExpandOldGeneration(), HighMemoryPressure(), isolate(), v8::Isolate::kBestEffort, max_old_generation_size(), v8::internal::Isolate::MemorySaverModeEnabled(), and v8::internal::Isolate::priority().
Referenced by v8::internal::MarkCompactCollector::ComputeEvacuationHeuristics(), CurrentHeapGrowingMode(), IncrementalMarkingLimitReached(), and ShouldExpandOldGenerationOnSlowAllocation().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1671 of file heap.h.
Referenced by v8::internal::MarkCompactCollector::CollectEvacuationCandidates(), CollectGarbage(), v8::internal::MarkCompactCollector::ComputeEvacuationHeuristics(), CurrentHeapGrowingMode(), GarbageCollectionEpilogueInSafepoint(), v8::internal::ArrayBufferSweeper::RequestSweep(), SelectGarbageCollector(), ShouldResizeNewSpace(), v8::internal::MarkCompactCollector::StartCompaction(), v8::internal::GCTracer::StartCycle(), v8::internal::Sweeper::SweepEmptyNewSpacePage(), and v8::internal::GCTracer::UpdateCurrentEvent().
Here is the caller graph for this function:
|
private |
Definition at line 3943 of file heap.cc.
References kGrow, kNone, kShrink, v8::internal::NewSpace::MaximumCapacity(), new_space_, ShouldReduceMemory(), survived_since_last_expansion_, v8::internal::NewSpace::TotalCapacity(), tracer_, and v8::internal::v8_flags.
Referenced by ResizeNewSpace(), and StartResizeNewSpace().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 5732 of file heap.cc.
References gc_count_, and v8::internal::v8_flags.
Referenced by IncrementalMarkingLimitReached(), and SelectGarbageCollector().
Here is the caller graph for this function:| bool v8::internal::Heap::ShouldUseBackgroundThreads | ( | ) | const |
Definition at line 454 of file heap.cc.
References v8::internal::Isolate::EfficiencyModeEnabled(), isolate(), and v8::internal::v8_flags.
Referenced by v8::internal::MarkCompactCollector::MaybeEnableBackgroundThreadsInCycle(), v8::internal::ArrayBufferSweeper::RequestSweep(), v8::internal::MinorMarkSweepCollector::StartMarking(), v8::internal::MarkCompactCollector::StartMarking(), and StartMinorMSConcurrentMarkingIfNeeded().
Here is the call graph for this function:
Here is the caller graph for this function:| bool v8::internal::Heap::ShouldUseIncrementalMarking | ( | ) | const |
Definition at line 459 of file heap.cc.
References isolate(), and v8::internal::v8_flags.
Referenced by v8::internal::IncrementalMarking::CanAndShouldBeStarted().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 400 of file heap.h.
References v8::internal::v8_flags.
|
inline |
Definition at line 397 of file heap.h.
References v8::internal::v8_flags.
Referenced by v8::internal::ScavengerCollector::CollectGarbage().
Here is the caller graph for this function:
|
private |
Definition at line 3225 of file heap.cc.
References CurrentHeapGrowingMode(), global_allocation_limit(), GlobalConsumedBytes(), initial_size_overwritten_, v8::internal::MemoryController< Trait >::MinimumAllocationLimitGrowingStep(), old_generation_allocation_limit(), old_space(), OldGenerationConsumedBytes(), SetOldGenerationAndGlobalAllocationLimit(), tracer(), and using_initial_limit().
Referenced by PerformGarbageCollection().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::SizeOfObjects | ( | ) |
Definition at line 1008 of file heap.cc.
References v8::internal::SpaceIterator::HasNext().
Referenced by CollectGarbageOnMemoryPressure(), v8::internal::Heap::DevToolsTraceEventScope::DevToolsTraceEventScope(), EvaluateOldSpaceLocalPretenuring(), GarbageCollectionEpilogue(), MarkCompact(), PrintShortHeapStatistics(), v8::internal::GCTracer::StartInSafepoint(), and v8::internal::GCTracer::StopInSafepoint().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 158 of file heap-inl.h.
References space_.
Referenced by CollectAllAvailableGarbage(), CollectGarbage(), CollectGarbageWithRetry(), CommittedOldGenerationMemory(), DeactivateMajorGCInProgressFlag(), v8::internal::SpaceIterator::HasNext(), InSpace(), InSpaceSlow(), IsValidAllocationSpace(), v8::internal::SpaceIterator::Next(), NotifyOldGenerationExpansion(), OldGenerationCapacity(), OldGenerationWastedBytes(), ReplaceReadOnlySpace(), SelectGarbageCollector(), v8::internal::HeapAllocator::Setup(), and Unmark().
Here is the caller graph for this function:| heap::base::Stack & v8::internal::Heap::stack | ( | ) |
Definition at line 6255 of file heap.cc.
References CHECK_NOT_NULL, main_thread_local_heap_, and v8::internal::LocalHeap::stack_.
Referenced by CollectGarbage(), v8::internal::LocalHeap::ExecuteBackgroundThreadWhileParked(), v8::internal::LocalHeap::ExecuteMainThreadWhileParked(), v8::internal::LocalHeap::ExecuteWithStackMarker(), v8::internal::LocalHeap::is_in_trampoline(), IsGCWithStack(), IterateConservativeStackRoots(), v8::internal::UnreachableObjectsFilter::MarkReachableObjects(), v8::internal::HeapProfiler::QueryObjects(), SetStackStart(), v8::internal::CppHeap::stack(), v8::internal::HeapProfiler::TakeSnapshot(), and v8::internal::HeapProfiler::WriteSnapshotToDiskAfterGC().
Here is the caller graph for this function:| const ::heap::base::Stack & v8::internal::Heap::stack | ( | ) | const |
Definition at line 6260 of file heap.cc.
References CHECK_NOT_NULL, main_thread_local_heap_, and v8::internal::LocalHeap::stack_.
| void v8::internal::Heap::StartIncrementalMarking | ( | GCFlags | gc_flags, |
| GarbageCollectionReason | gc_reason, | ||
| GCCallbackFlags | gc_callback_flags = GCCallbackFlags::kNoGCCallbackFlags, |
||
| GarbageCollector | collector = GarbageCollector::MARK_COMPACTOR |
||
| ) |
Definition at line 1930 of file heap.cc.
References CHECK_IMPLIES, CompleteSweepingFull(), CompleteSweepingYoung(), current_gc_callback_flags_, current_gc_flags_, v8::internal::DCHECK(), DCHECK_EQ, gc_callbacks_depth_, incremental_marking(), is_full_gc_during_loading_, isolate(), IsYoungGenerationCollector(), v8::internal::kGlobalSafepointForSharedSpaceIsolate, v8::internal::GCTracer::kIncremental, v8::internal::MARK_COMPACTOR, PauseConcurrentThreadsInClients(), RecomputeLimitsAfterLoadingIfNeeded(), v8::internal::IncrementalMarking::Start(), v8::internal::GCTracer::StartCycle(), tracer(), v8::Isolate::TryGetCurrent(), update_allocation_limits_after_loading_, and v8::internal::v8_flags.
Referenced by CheckMemoryPressure(), CollectGarbageOnMemoryPressure(), HandleExternalMemoryInterrupt(), v8::internal::MemoryReducer::NotifyTimer(), StartIncrementalMarkingIfAllocationLimitIsReached(), and StartMinorMSConcurrentMarkingIfNeeded().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::StartIncrementalMarkingIfAllocationLimitIsReached | ( | LocalHeap * | local_heap, |
| GCFlags | gc_flags, | ||
| GCCallbackFlags | gc_callback_flags = GCCallbackFlags::kNoGCCallbackFlags |
||
| ) |
Definition at line 2037 of file heap.cc.
References incremental_marking(), IncrementalMarkingLimitReached(), v8::internal::LocalHeap::is_main_thread_for(), isolate(), v8::internal::kAllocationLimit, kFallbackForEmbedderLimit, v8::internal::kGlobalAllocationLimit, kHardLimit, kNoLimit, kSoftLimit, v8::kUserVisible, memory_reducer(), NewSpaceTargetCapacity(), v8::internal::MemoryReducer::NotifyPossibleGarbage(), OldGenerationSpaceAvailable(), v8::internal::Isolate::stack_guard(), and StartIncrementalMarking().
Referenced by v8::internal::OldLargeObjectSpace::AllocateRaw(), CollectGarbage(), v8::internal::PagedSpaceAllocatorPolicy::EnsureAllocation(), HandleExternalMemoryInterrupt(), and StartIncrementalMarkingOnInterrupt().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::StartIncrementalMarkingOnInterrupt | ( | ) |
Definition at line 2031 of file heap.cc.
References GCFlagsForIncrementalMarking(), v8::kGCCallbackScheduleIdleGarbageCollection, main_thread_local_heap(), and StartIncrementalMarkingIfAllocationLimitIsReached().
Referenced by v8::internal::StackGuard::HandleInterrupts().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1237 of file heap.cc.
References v8::internal::PagedSpaceBase::Capacity(), incremental_marking(), IsTearingDown(), v8::internal::kNoFlags, v8::kNoGCCallbackFlags, v8::internal::kTask, v8::internal::MB, minor_gc_job(), v8::internal::MINOR_MARK_SWEEPER, v8::internal::anonymous_namespace{heap.cc}::MinorMSConcurrentMarkingTrigger(), new_space(), v8::internal::StickySpace::old_objects_size(), paged_new_space(), v8::internal::PagedNewSpace::paged_space(), ShouldUseBackgroundThreads(), StartIncrementalMarking(), sticky_space(), v8::internal::MinorGCJob::TryScheduleTask(), v8::internal::PagedSpaceForNewSpace::UsableCapacity(), v8::internal::v8_flags, V8_LIKELY, and v8::internal::StickySpace::young_objects_size().
Referenced by CollectGarbage(), and v8::internal::PagedSpaceAllocatorPolicy::EnsureAllocation().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3977 of file heap.cc.
References v8::internal::anonymous_namespace{heap.cc}::ComputeReducedNewSpaceSize(), v8::internal::DCHECK(), DCHECK_EQ, kNone, kShrink, new_space(), paged_new_space(), resize_new_space_mode_, ShouldResizeNewSpace(), v8::internal::PagedNewSpace::StartShrinking(), and v8::internal::v8_flags.
Referenced by v8::internal::MinorMarkSweepCollector::StartSweepNewSpace().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::StartTearDown | ( | ) |
Definition at line 6265 of file heap.cc.
References CollectGarbage(), collection_barrier_, CompleteSweepingFull(), concurrent_marking(), cpp_heap_, v8::internal::LocalHeap::FreeLinearAllocationAreas(), FreeMainThreadLinearAllocationAreas(), v8::internal::CppHeap::From(), v8::internal::kTesting, main_thread_local_heap(), v8::internal::OLD_SPACE, v8::internal::ConcurrentMarking::Pause(), SetGCState(), v8::internal::CppHeap::StartDetachingIsolate(), TEAR_DOWN, and v8::internal::v8_flags.
Referenced by v8::internal::Isolate::Deinit().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 898 of file setup-heap-internal.cc.
References v8::internal::DirectHandle< T >::address(), v8::internal::Tagged< HeapObject >::address(), v8::internal::HeapAllocator::AllocateRawWith(), allocator(), CHECK_EQ, CHECK_LT, CreateFillerObjectAt(), v8::internal::kClearFreedMemory, v8::internal::kReadOnly, v8::internal::HeapAllocator::kRetryOrFail, v8::internal::kRuntime, v8::internal::kTaggedAligned, V8_STATIC_ROOTS_BOOL, and V8_STATIC_ROOTS_GENERATION_BOOL.
Referenced by CreateReadOnlyApiObjects(), and CreateReadOnlyObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 434 of file heap-inl.h.
References v8::internal::DCHECK(), v8::internal::StickySpace::From(), old_space(), and v8::internal::v8_flags.
Referenced by CanPromoteYoungAndExpandOldGeneration(), NewSpaceCapacity(), NewSpaceSize(), NewSpaceTargetCapacity(), OldGenerationSizeOfObjects(), v8::internal::PretenuringHandler::ProcessPretenuringFeedback(), v8::internal::HeapAllocator::Setup(), v8::internal::MinorMarkSweepCollector::StartMarking(), StartMinorMSConcurrentMarkingIfNeeded(), v8::internal::MinorMarkSweepCollector::StartSweepNewSpaceWithStickyBits(), v8::internal::MinorMarkSweepCollector::Sweep(), v8::internal::Sweeper::SweepEmptyNewSpacePage(), v8::internal::MinorMarkSweepCollector::TraceFragmentation(), and YoungGenerationSizeOfObjects().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1371 of file heap.h.
Referenced by v8::internal::GCTracer::StopInSafepoint().
Here is the caller graph for this function:
|
inline |
Definition at line 864 of file heap.h.
Referenced by CompleteSweepingFull(), v8::internal::PagedSpaceAllocatorPolicy::ContributeToSweeping(), EnsureSweepingCompleted(), EnsureSweepingCompletedForObject(), EnsureYoungSweepingCompleted(), FinishSweepingIfOutOfWork(), v8::internal::MinorMarkSweepCollector::MarkLiveObjects(), v8::internal::MarkCompactCollector::MarkObjectsFromClientHeap(), PauseConcurrentThreadsInClients(), v8::internal::PagedSpaceAllocatorPolicy::RefillLab(), v8::internal::ArrayBufferSweeper::SweepingState::SweepingJob::Run(), v8::internal::IncrementalMarking::StartMarkingMinor(), and v8::internal::PagedNewSpaceAllocatorPolicy::WaitForSweepingForAllocation().
Here is the caller graph for this function:
|
inline |
Definition at line 1591 of file heap.h.
Referenced by CompleteSweepingFull(), EnsureSweepingCompleted(), EnsureSweepingCompletedForObject(), PrintShortHeapStatistics(), v8::internal::PagedSpaceAllocatorPolicy::RefillLab(), and v8::internal::IncrementalMarking::Start().
Here is the caller graph for this function:
|
inline |
| void v8::internal::Heap::TearDown | ( | ) |
Definition at line 6320 of file heap.cc.
References allocation_tracker_for_debugging_, allocator(), array_buffer_sweeper_, v8::internal::IsolateSafepoint::AssertMainThreadIsOnlyThread(), concurrent_marking(), concurrent_marking_, cpp_heap_, v8::internal::DCHECK(), DCHECK_EQ, dead_object_stats_, v8::internal::CppHeap::DetachIsolate(), embedder_roots_handler_, ephemeron_remembered_set_, v8::internal::FIRST_MUTABLE_SPACE, v8::internal::CppHeap::From(), gc_state(), heap_profiler_, v8::internal::anonymous_namespace{json-stringifier.cc}::i, incremental_marking_, isolate(), isolate_, IsStressingScavenge(), v8::internal::LAST_MUTABLE_SPACE, live_object_stats_, mark_compact_collector_, memory_allocator(), memory_allocator_, memory_measurement_, memory_reducer_, minor_gc_job_, minor_mark_sweep_collector_, need_to_remove_stress_concurrent_allocation_observer_, v8::internal::HeapAllocator::new_space_allocator(), v8::internal::StrongRootsEntry::next, owning_cpp_heap_, v8::internal::MemoryAllocator::pool(), pretenuring_handler_, PrintMaxMarkingLimitReached(), PrintMaxNewSpaceSizeReached(), read_only_space_, v8::internal::PagePool::ReleaseOnTearDown(), v8::internal::MainAllocator::RemoveAllocationObserver(), RemoveAllocationObserversFromAllSpaces(), v8::internal::PretenuringHandler::reset(), v8::internal::Isolate::RunReleaseCppHeapCallback(), safepoint(), scavenger_collector_, space_, stress_concurrent_allocation_observer_, stress_scavenge_observer_, strong_roots_head_, sweeper_, TEAR_DOWN, v8::internal::MemoryAllocator::TearDown(), tracer_, UpdateMaximumCommitted(), and v8::internal::v8_flags.
Referenced by v8::internal::Isolate::Deinit().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::TearDownWithSharedHeap | ( | ) |
Definition at line 6301 of file heap.cc.
References v8::internal::IsolateSafepoint::AssertMainThreadIsOnlyThread(), DCHECK_EQ, external_string_table_, gc_state(), main_thread_local_heap(), v8::internal::LocalHeap::marking_barrier(), v8::internal::MarkingBarrier::PublishSharedIfNeeded(), safepoint(), TEAR_DOWN, v8::internal::Heap::ExternalStringTable::TearDown(), and v8::internal::HeapVerifier::VerifyHeapIfEnabled().
Referenced by v8::internal::Isolate::Deinit().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 381 of file heap-inl.h.
References v8::internal::ReadOnlyRoots::boolean_value().
Referenced by v8::internal::anonymous_namespace{runtime-object.cc}::DeleteProperty(), v8::internal::RUNTIME_FUNCTION(), v8::internal::Object::ToBoolean(), and v8::internal::PropertyDescriptor::ToObject().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::TotalGlobalHandlesSize | ( | ) |
Definition at line 1017 of file heap.cc.
References v8::internal::Isolate::global_handles(), isolate_, v8::internal::TracedHandles::total_size_bytes(), v8::internal::GlobalHandles::TotalSize(), and v8::internal::Isolate::traced_handles().
Here is the call graph for this function:
|
inline |
Definition at line 843 of file heap.h.
Referenced by v8::internal::CppHeap::MetricRecorderAdapter::AddMainThreadEvent(), v8::internal::IncrementalMarkingJob::AverageTimeToTask(), CallGCEpilogueCallbacks(), CallGCPrologueCallbacks(), v8::internal::MinorMarkSweepCollector::ClearNonLiveReferences(), v8::internal::MinorMarkSweepCollector::CollectGarbage(), v8::internal::ScavengerCollector::CollectGarbage(), CollectGarbage(), v8::internal::anonymous_namespace{heap.cc}::CompleteArrayBufferSweeping(), CompleteSweepingFull(), v8::internal::ScavengerCollector::CompleteSweepingQuarantinedPagesIfNeeded(), v8::internal::MarkCompactCollector::ComputeEvacuationHeuristics(), v8::internal::Sweeper::EnsureMajorCompleted(), v8::internal::Sweeper::EnsurePageIsSwept(), EnsureSweepingCompleted(), EnsureYoungSweepingCompleted(), v8::internal::GlobalSafepoint::EnterGlobalSafepointScope(), v8::internal::IsolateSafepoint::EnterLocalSafepointScope(), v8::internal::MarkCompactCollector::Finish(), v8::internal::MinorMarkSweepCollector::Finish(), v8::internal::MinorMarkSweepCollector::FinishConcurrentMarking(), v8::internal::Sweeper::FinishMajorJobs(), v8::internal::CppHeap::FinishMarkingAndProcessWeakness(), v8::internal::Sweeper::FinishMinorJobs(), GarbageCollectionEpilogue(), GarbageCollectionEpilogueInSafepoint(), GarbageCollectionPrologue(), GarbageCollectionPrologueInSafepoint(), v8::internal::ArrayBufferSweeper::GetTraceIdForFlowEvent(), HasLowEmbedderAllocationRate(), HasLowOldGenerationAllocationRate(), HasLowYoungGenerationAllocationRate(), IncrementalMarkingLimitReached(), v8::internal::CppHeap::InitializeMarking(), InvokeNearHeapLimitCallback(), v8::internal::GlobalHandles::InvokeSecondPassPhantomCallbacks(), MarkCompactEpilogue(), MarkCompactPrologue(), v8::internal::MinorMarkSweepCollector::MarkLiveObjects(), v8::internal::MinorMarkSweepCollector::MarkRoots(), v8::internal::MarkCompactCollector::MarkRootsFromConservativeStack(), v8::internal::MinorMarkSweepCollector::MarkRootsFromConservativeStack(), v8::internal::MinorMarkSweepCollector::MarkRootsFromTracedHandles(), MinorMarkSweep(), NotifyContextDisposed(), PerformGarbageCollection(), v8::internal::MinorMarkSweepCollector::PerformWrapperTracing(), v8::internal::MarkCompactCollector::Prepare(), v8::internal::PretenuringHandler::ProcessPretenuringFeedback(), RecomputeLimits(), v8::internal::ArrayBufferSweeper::RequestSweep(), v8::internal::ArrayBufferSweeper::SweepingState::SweepingJob::Run(), v8::internal::ConcurrentMarking::JobTaskMajor::Run(), v8::internal::ConcurrentMarking::JobTaskMinor::Run(), v8::internal::ScavengerCollector::QuarantinedPageSweeper::JobTask::Run(), v8::internal::ConcurrentMarking::RunMajor(), v8::internal::ConcurrentMarking::RunMinorImpl(), Scavenge(), v8::internal::Isolate::SetPriority(), ShrinkOldGenerationAllocationLimitIfNotConfigured(), v8::internal::LocalHeap::SleepInSafepoint(), v8::internal::LocalHeap::SleepInUnpark(), v8::internal::IncrementalMarking::Start(), StartIncrementalMarking(), v8::internal::Sweeper::StartMajorSweeperTasks(), v8::internal::Sweeper::StartMajorSweeping(), v8::internal::MinorMarkSweepCollector::StartMarking(), v8::internal::MarkCompactCollector::StartMarking(), v8::internal::Sweeper::StartMinorSweeperTasks(), v8::internal::Sweeper::StartMinorSweeping(), v8::internal::MinorMarkSweepCollector::StartSweepNewSpace(), v8::internal::MinorMarkSweepCollector::StartSweepNewSpaceWithStickyBits(), v8::internal::IncrementalMarking::Step(), v8::internal::MinorMarkSweepCollector::Sweep(), v8::internal::Sweeper::SweepEmptyNewSpacePage(), v8::internal::MinorMarkSweepCollector::SweepNewLargeSpace(), v8::internal::anonymous_namespace{mark-compact.cc}::TraceEvacuation(), UpdateSurvivalStatistics(), and v8::internal::MarkCompactCollector::VerifyMarking().
Here is the caller graph for this function:
|
inline |
|
inline |
Definition at line 786 of file heap.h.
Referenced by DeactivateMajorGCInProgressFlag(), v8::internal::OldGenerationMemoryChunkIterator::next(), OldGenerationSizeOfObjects(), and Unmark().
Here is the caller graph for this function:
|
inline |
Definition at line 782 of file heap.h.
Referenced by DeactivateMajorGCInProgressFlag(), EnsureSweepingCompleted(), v8::internal::EvacuationAllocator::Finalize(), v8::internal::OldGenerationMemoryChunkIterator::next(), OldGenerationSizeOfObjects(), v8::internal::HeapAllocator::Setup(), v8::internal::MarkCompactCollector::StartCompaction(), Unmark(), and v8::internal::MarkCompactCollector::VerifyMarking().
Here is the caller graph for this function:| std::optional< Tagged< Code > > v8::internal::Heap::TryFindCodeForInnerPointerForPrinting | ( | Address | inner_pointer | ) |
Definition at line 7364 of file heap.cc.
References v8::internal::CODE_LO_SPACE, v8::internal::CODE_SPACE, GcSafeTryFindCodeForInnerPointer(), InSpaceSlow(), isolate(), and v8::internal::OffHeapInstructionStream::PcIsOffHeap().
Referenced by _v8_internal_Print_Code(), and _v8_internal_Print_OnlyCode().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::Unmark | ( | ) |
Definition at line 3726 of file heap.cc.
References code_lo_space(), code_space(), v8::internal::DCHECK(), DCHECK_NULL, isolate(), lo_space(), new_space(), old_space(), shared_lo_space(), shared_space(), space(), trusted_lo_space(), trusted_space(), and v8::internal::v8_flags.
Referenced by v8::internal::MarkCompactCollector::StartMarking().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 3707 of file heap.cc.
References allocator(), v8::internal::DCHECK(), v8::internal::IsolateSafepoint::IterateLocalHeaps(), main_thread_local_heap(), safepoint(), v8::internal::HeapAllocator::UnmarkSharedLinearAllocationAreas(), v8::internal::LocalHeap::UnmarkSharedLinearAllocationsArea(), and v8::internal::v8_flags.
Here is the call graph for this function:| void v8::internal::Heap::UnregisterStrongRoots | ( | StrongRootsEntry * | entry | ) |
Definition at line 7006 of file heap.cc.
References v8::internal::DCHECK(), DCHECK_NULL, isolate(), v8::internal::StrongRootsEntry::next, v8::internal::StrongRootsEntry::prev, strong_roots_head_, and strong_roots_mutex_.
Referenced by v8::internal::IdentityMapBase::Clear().
Here is the call graph for this function:
Here is the caller graph for this function:| uint64_t v8::internal::Heap::UpdateExternalMemory | ( | int64_t | delta | ) |
Definition at line 6963 of file heap.cc.
References external_memory_, v8::internal::Heap::ExternalMemoryAccounting::low_since_mark_compact(), v8::internal::Heap::ExternalMemoryAccounting::UpdateAmount(), and v8::internal::Heap::ExternalMemoryAccounting::UpdateLowSinceMarkCompact().
Referenced by v8::Isolate::AdjustAmountOfExternalAllocatedMemoryImpl(), and v8::ExternalMemoryAccounter::Decrease().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::UpdateExternalString | ( | Tagged< String > | string, |
| size_t | old_payload, | ||
| size_t | new_payload | ||
| ) |
Definition at line 2823 of file heap.cc.
References v8::internal::DCHECK(), v8::internal::MutablePageMetadata::DecrementExternalBackingStoreBytes(), v8::internal::PageMetadata::FromHeapObject(), v8::internal::MutablePageMetadata::IncrementExternalBackingStoreBytes(), v8::internal::InstanceTypeChecker::IsExternalString(), and v8::internal::kExternalString.
Referenced by v8::internal::anonymous_namespace{string.cc}::MigrateExternalStringResource(), v8::internal::anonymous_namespace{deserializer.cc}::PostProcessExternalString(), v8::internal::ExternalOneByteString::SetResource(), and v8::internal::ExternalTwoByteString::SetResource().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::UpdateMaximumCommitted | ( | ) |
Definition at line 391 of file heap.cc.
References CommittedMemory(), HasBeenSetUp(), and maximum_committed_.
Referenced by GarbageCollectionEpilogue(), GarbageCollectionPrologue(), and TearDown().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1393 of file heap.h.
Referenced by MarkCompact(), and RecomputeLimitsAfterLoadingIfNeeded().
Here is the caller graph for this function:
|
private |
Definition at line 3008 of file heap.cc.
References external_string_table_, and v8::internal::Heap::ExternalStringTable::UpdateReferences().
Here is the call graph for this function:| void v8::internal::Heap::UpdateStrongRoots | ( | StrongRootsEntry * | entry, |
| FullObjectSlot | start, | ||
| FullObjectSlot | end | ||
| ) |
Definition at line 7000 of file heap.cc.
References v8::internal::compiler::end(), v8::internal::StrongRootsEntry::end, and v8::internal::StrongRootsEntry::start.
Referenced by v8::internal::IdentityMapBase::Resize().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::Heap::UpdateSurvivalStatistics | ( | int | start_new_space_size | ) |
Definition at line 2247 of file heap.cc.
References v8::internal::GCTracer::AddSurvivalRatio(), new_space_surviving_object_size_, new_space_surviving_rate_, previous_new_space_surviving_object_size_, promoted_objects_size_, promotion_rate_, promotion_ratio_, and tracer().
Referenced by PerformGarbageCollection().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6883 of file heap.cc.
References v8::internal::duration, and total_gc_time_ms_.
Referenced by v8::internal::GCTracer::StopObservablePause().
Here is the caller graph for this function:
|
static |
Definition at line 2838 of file heap.cc.
References v8::internal::DCHECK(), v8::internal::PageMetadata::FromAddress(), v8::internal::PageMetadata::FromHeapObject(), InFromPage(), v8::internal::InstanceTypeChecker::IsExternalString(), v8::internal::MapWord::IsForwardingAddress(), v8::internal::InstanceTypeChecker::IsThinString(), v8::internal::kExternalString, v8::kRelaxedLoad, v8::internal::MutablePageMetadata::MoveExternalBackingStoreBytes(), v8::internal::MapWord::ToForwardingAddress(), and v8::internal::v8_flags.
Here is the call graph for this function:
|
private |
Definition at line 2991 of file heap.cc.
References external_string_table_, and v8::internal::Heap::ExternalStringTable::UpdateYoungReferences().
Referenced by v8::internal::MinorMarkSweepCollector::Sweep().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 1699 of file heap.h.
References DCHECK_IMPLIES, and v8::internal::v8_flags.
Referenced by v8::internal::MinorMarkSweepCollector::CollectGarbage(), EnsureSweepingCompleted(), GarbageCollectionPrologue(), MinorMarkSweep(), v8::internal::MarkCompactCollector::Prepare(), v8::internal::ConcurrentMarking::RunMajor(), v8::internal::ConcurrentMarking::RunMinor(), and SelectGarbageCollector().
Here is the caller graph for this function:| size_t v8::internal::Heap::UsedGlobalHandlesSize | ( | ) |
Definition at line 1022 of file heap.cc.
References v8::internal::Isolate::global_handles(), isolate_, v8::internal::Isolate::traced_handles(), v8::internal::TracedHandles::used_size_bytes(), and v8::internal::GlobalHandles::UsedSize().
Here is the call graph for this function:
|
inlineprivate |
Definition at line 1991 of file heap.h.
Referenced by EnsureSweepingCompleted(), IncrementalMarkingLimitReached(), PerformGarbageCollection(), RecomputeLimits(), and ShrinkOldGenerationAllocationLimitIfNotConfigured().
Here is the caller graph for this function:| void v8::internal::Heap::WeakenDescriptorArrays | ( | GlobalHandleVector< DescriptorArray > | strong_descriptor_arrays | ) |
Definition at line 6132 of file heap.cc.
References v8::internal::GlobalHandleVector< T >::begin(), v8::internal::DCHECK(), DCHECK_EQ, v8::internal::GlobalHandleVector< T >::end(), incremental_marking(), isolate(), v8::kRelaxedLoad, mark_compact_collector(), v8::internal::anonymous_namespace{json-stringifier.cc}::no_gc, ReadOnlyRoots, and v8::internal::MarkCompactCollector::RecordStrongDescriptorArraysForWeakening().
Referenced by v8::internal::LocalHeap::WeakenDescriptorArrays().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::YoungArrayBufferBytes | ( | ) |
Definition at line 6959 of file heap.cc.
References array_buffer_sweeper(), and v8::internal::ArrayBufferSweeper::YoungBytes().
Here is the call graph for this function:
|
inlinestatic |
Definition at line 368 of file heap.h.
References v8::internal::v8_flags.
Referenced by SelectGarbageCollector().
Here is the caller graph for this function:| size_t v8::internal::Heap::YoungGenerationConsumedBytes | ( | ) | const |
Definition at line 5402 of file heap.cc.
References v8::internal::SemiSpaceNewSpace::CurrentCapacitySafe(), DCHECK_NOT_NULL, new_lo_space(), new_space(), semi_space_new_space(), v8::internal::LargeObjectSpace::SizeOfObjects(), v8::internal::v8_flags, YoungGenerationSizeOfObjects(), and YoungGenerationWastedBytes().
Referenced by AllocationLimitOvershotByLargeMargin().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 209 of file heap.cc.
References DefaultMaxSemiSpaceSize(), DefaultMinSemiSpaceSize(), v8::internal::MutablePageMetadata::kPageSize, OldGenerationLowMemory(), OldGenerationToSemiSpaceRatio(), OldGenerationToSemiSpaceRatioLowMemory(), RoundUp(), v8::internal::v8_flags, and YoungGenerationSizeFromSemiSpaceSize().
Referenced by GenerationSizesFromHeapSize(), and HeapSizeFromPhysicalMemory().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 315 of file heap.cc.
References kNewLargeObjectSpaceToSemiSpaceRatio, and v8::internal::anonymous_namespace{heap.cc}::NumberOfSemiSpaces().
Referenced by AllocatorLimitOnMaxOldGenerationSize(), ConfigureHeap(), MinYoungGenerationSize(), and YoungGenerationSizeFromOldGenerationSize().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::YoungGenerationSizeOfObjects | ( | ) | const |
Definition at line 5385 of file heap.cc.
References DCHECK_NOT_NULL, new_lo_space(), new_space(), v8::internal::LargeObjectSpace::SizeOfObjects(), sticky_space(), v8::internal::v8_flags, and v8::internal::StickySpace::young_objects_size().
Referenced by YoungGenerationConsumedBytes().
Here is the call graph for this function:
Here is the caller graph for this function:| size_t v8::internal::Heap::YoungGenerationWastedBytes | ( | ) | const |
Definition at line 5396 of file heap.cc.
References v8::internal::DCHECK(), DCHECK_NOT_NULL, new_space(), paged_new_space(), v8::internal::PagedNewSpace::paged_space(), v8::internal::v8_flags, and v8::internal::PagedSpaceBase::Waste().
Referenced by YoungGenerationConsumedBytes().
Here is the call graph for this function:
Here is the caller graph for this function:
|
friend |
|
friend |
|
friend |
Definition at line 2486 of file heap.h.
Referenced by SetUpSpaces().
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
Definition at line 2494 of file heap.h.
Referenced by SetUpSpaces().
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
Definition at line 2508 of file heap.h.
Referenced by SetUpSpaces().
|
friend |
Definition at line 2509 of file heap.h.
Referenced by SetUpSpaces().
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
Definition at line 2523 of file heap.h.
Referenced by AllowedToBeMigrated(), ClearKeptObjects(), CompactRetainedMaps(), CompactWeakArrayLists(), DequeueDirtyJSFinalizationRegistry(), GcSafeInstructionStreamContains(), InitializeHashSeed(), v8::internal::ClearStaleLeftTrimmedPointerVisitor::IsLeftTrimmed(), LeftTrimFixedArray(), NotifyContextDisposed(), RemoveDirtyFinalizationRegistriesOnContext(), and WeakenDescriptorArrays().
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
Definition at line 2530 of file heap.h.
Referenced by NotifyDeserializationComplete().
|
friend |
|
private |
Definition at line 2346 of file heap.h.
Referenced by SetUpSpaces(), and TearDown().
|
private |
Definition at line 2452 of file heap.h.
Referenced by AddHeapObjectAllocationTracker(), v8::internal::HeapAllocator::AllocateRaw(), OnMoveEvent(), RemoveHeapObjectAllocationTracker(), and RightTrimArray().
|
private |
|
private |
Definition at line 2194 of file heap.h.
Referenced by v8::internal::AlwaysAllocateScope::AlwaysAllocateScope(), and v8::internal::AlwaysAllocateScope::~AlwaysAllocateScope().
|
private |
Definition at line 2334 of file heap.h.
Referenced by AppendArrayBufferExtension(), DetachArrayBufferExtension(), ResizeArrayBufferExtension(), SetUpSpaces(), and TearDown().
|
private |
Definition at line 2186 of file heap.h.
Referenced by DecrementExternalBackingStoreBytes(), and IncrementExternalBackingStoreBytes().
|
private |
Definition at line 2212 of file heap.h.
Referenced by CollectCodeStatistics(), CommittedOldGenerationMemory(), Contains(), ContainsCode(), InSpace(), InSpaceSlow(), OldGenerationCapacity(), PrintShortHeapStatistics(), RecordStats(), and SetUpSpaces().
|
private |
Definition at line 2360 of file heap.h.
Referenced by code_range_base(), code_region(), v8::internal::Isolate::MaybeRemapEmbeddedBuiltinsIntoCodeRange(), and SetUp().
|
private |
Definition at line 2143 of file heap.h.
Referenced by ConfigureHeap(), and SetUp().
Definition at line 2209 of file heap.h.
Referenced by CollectCodeStatistics(), Contains(), ContainsCode(), InSpace(), InSpaceSlow(), PrintShortHeapStatistics(), RecordStats(), and SetUpSpaces().
|
private |
Definition at line 2433 of file heap.h.
Referenced by CollectGarbageFromAnyThread(), CollectionRequested(), GarbageCollectionEpilogueInSafepoint(), v8::internal::LocalHeap::ParkSlowPath(), PerformGarbageCollection(), SetUp(), and StartTearDown().
|
private |
Definition at line 2338 of file heap.h.
Referenced by SetUp(), and TearDown().
Definition at line 2413 of file heap.h.
Referenced by ConfigureHeap(), ResetOldGenerationAndGlobalAllocationLimit(), and SetUp().
|
private |
Definition at line 2279 of file heap.h.
Referenced by CheckIneffectiveMarkCompact().
|
private |
Definition at line 2204 of file heap.h.
Referenced by MarkCompact(), and NotifyContextDisposed().
|
private |
Definition at line 2370 of file heap.h.
Referenced by AttachCppHeap(), v8::internal::MinorMarkSweepCollector::ClearNonLiveReferences(), CollectAllAvailableGarbage(), v8::internal::MarkCompactCollector::CollectGarbage(), v8::internal::MinorMarkSweepCollector::CollectGarbage(), EmbedderAllocationCounter(), EmbedderSizeOfObjects(), v8::internal::MarkCompactCollector::FinishConcurrentMarking(), v8::internal::MinorMarkSweepCollector::FinishConcurrentMarking(), v8::internal::MinorMarkSweepCollector::MarkRootsFromTracedHandles(), v8::internal::MarkCompactCollector::MaybeEnableBackgroundThreadsInCycle(), v8::internal::MinorMarkSweepCollector::PerformWrapperTracing(), v8::internal::MarkCompactCollector::Prepare(), v8::internal::MinorMarkSweepCollector::StartMarking(), v8::internal::MarkCompactCollector::StartMarking(), StartTearDown(), and TearDown().
|
private |
Definition at line 2419 of file heap.h.
Referenced by CheckCollectionRequested(), CollectGarbageForBackground(), CollectGarbageFromAnyThread(), FinalizeIncrementalMarkingAtomically(), HandleExternalMemoryInterrupt(), HandleGCRequest(), and StartIncrementalMarking().
|
private |
Definition at line 2416 of file heap.h.
Referenced by CheckCollectionRequested(), CollectAllAvailableGarbage(), CollectAllGarbage(), CollectGarbage(), CollectGarbageForBackground(), CollectGarbageFromAnyThread(), CollectGarbageWithRetry(), FinalizeIncrementalMarkingAtomically(), GarbageCollectionPrologue(), HandleGCRequest(), and StartIncrementalMarking().
|
private |
Definition at line 2426 of file heap.h.
Referenced by CollectGarbage().
|
private |
Definition at line 2342 of file heap.h.
Referenced by CreateObjectStats(), SetUpSpaces(), and TearDown().
|
private |
Definition at line 2311 of file heap.h.
Referenced by IncrementDeferredCounts(), and ReportStatisticsAfterGC().
Definition at line 2450 of file heap.h.
Referenced by FinishSweepingIfOutOfWork().
Definition at line 2439 of file heap.h.
Referenced by CollectGarbage(), CollectGarbageShared(), InitializeHashSeed(), and NotifyDeserializationComplete().
|
private |
Definition at line 2371 of file heap.h.
Referenced by GetEmbedderRootsHandler(), SetEmbedderRootsHandler(), and TearDown().
|
private |
Definition at line 2401 of file heap.h.
Referenced by GlobalConsumedBytesAtLastGC(), MarkCompact(), and RecomputeLimitsAfterLoadingIfNeeded().
|
private |
Definition at line 2374 of file heap.h.
Referenced by v8::internal::EmbedderStackStateScope::EmbedderStackStateScope(), IsGCWithMainThreadStack(), v8::internal::MinorMarkSweepCollector::MarkLiveObjects(), overridden_stack_state(), and v8::internal::EmbedderStackStateScope::~EmbedderStackStateScope().
|
private |
Definition at line 2375 of file heap.h.
Referenced by v8::internal::EmbedderStackStateScope::EmbedderStackStateScope(), overridden_stack_state(), and v8::internal::EmbedderStackStateScope::~EmbedderStackStateScope().
|
private |
Definition at line 2347 of file heap.h.
Referenced by SetUp(), and TearDown().
|
private |
Definition at line 2133 of file heap.h.
Referenced by AllocatedExternalMemorySinceMarkCompact(), external_memory(), external_memory_limit_for_interrupt(), external_memory_soft_limit(), GlobalConsumedBytesAtLastGC(), HandleExternalMemoryInterrupt(), MarkCompact(), RecomputeLimitsAfterLoadingIfNeeded(), and UpdateExternalMemory().
|
private |
Definition at line 2309 of file heap.h.
Referenced by PrintShortHeapStatistics().
|
private |
Definition at line 2429 of file heap.h.
Referenced by v8::internal::MinorMarkSweepCollector::ClearNonLiveReferences(), IterateWeakRoots(), RegisterExternalString(), TearDownWithSharedHeap(), UpdateReferencesInExternalStringTable(), and UpdateYoungReferencesInExternalStringTable().
Definition at line 2449 of file heap.h.
Referenced by CanExpandOldGeneration(), and GarbageCollectionPrologue().
Definition at line 2448 of file heap.h.
Referenced by CanExpandOldGeneration().
|
private |
Definition at line 2437 of file heap.h.
Referenced by v8::internal::GCCallbacksScope::CheckReenter(), v8::internal::GCCallbacksScope::GCCallbacksScope(), StartIncrementalMarking(), and v8::internal::GCCallbacksScope::~GCCallbacksScope().
|
private |
Definition at line 2275 of file heap.h.
Referenced by CreateMutableHeapObjects(), GarbageCollectionPrologueInSafepoint(), IncrementalMarkingLimitReached(), and ShouldStressCompaction().
|
private |
Definition at line 2307 of file heap.h.
Referenced by AddGCEpilogueCallback(), CallGCEpilogueCallbacks(), and RemoveGCEpilogueCallback().
|
private |
Definition at line 2306 of file heap.h.
Referenced by AddGCPrologueCallback(), CallGCPrologueCallbacks(), and RemoveGCPrologueCallback().
Definition at line 2258 of file heap.h.
Referenced by SetGCState().
|
private |
Definition at line 2293 of file heap.h.
Referenced by SetOldGenerationAndGlobalAllocationLimit().
|
private |
Definition at line 2139 of file heap.h.
Referenced by AllocateRaw(), AllocateRawOrFail(), GarbageCollectionPrologue(), ReplaceReadOnlySpace(), SetUp(), and SetUpFromReadOnlyHeap().
|
private |
|
private |
Definition at line 2348 of file heap.h.
Referenced by ConfigureHeap(), and TearDown().
|
private |
Definition at line 2435 of file heap.h.
Referenced by v8::internal::IgnoreLocalGCRequests::IgnoreLocalGCRequests(), and v8::internal::IgnoreLocalGCRequests::~IgnoreLocalGCRequests().
|
private |
Definition at line 2337 of file heap.h.
Referenced by PerformGarbageCollection(), SetUp(), and TearDown().
|
private |
Definition at line 2158 of file heap.h.
Referenced by AutomaticallyRestoreInitialHeapLimit(), CollectGarbage(), ConfigureHeap(), and InvokeNearHeapLimitCallback().
|
private |
Definition at line 2159 of file heap.h.
Referenced by AutomaticallyRestoreInitialHeapLimit(), and CollectGarbage().
|
private |
Definition at line 2160 of file heap.h.
Referenced by ConfigureHeap(), NotifyContextDisposed(), and ResetOldGenerationAndGlobalAllocationLimit().
|
private |
Definition at line 2146 of file heap.h.
Referenced by ConfigureHeap(), and SetUpSpaces().
Definition at line 2173 of file heap.h.
Referenced by ConfigureHeap(), NotifyContextDisposed(), ResetOldGenerationAndGlobalAllocationLimit(), and ShrinkOldGenerationAllocationLimitIfNotConfigured().
Definition at line 2443 of file heap.h.
Referenced by DisableInlineAllocation(), and EnableInlineAllocation().
Definition at line 2425 of file heap.h.
Referenced by CollectGarbage(), and GarbageCollectionPrologue().
Definition at line 2424 of file heap.h.
Referenced by CollectGarbage(), and GarbageCollectionPrologue().
Definition at line 2454 of file heap.h.
Referenced by PostFinalizationRegistryCleanupTaskIfNeeded().
Definition at line 2476 of file heap.h.
Referenced by CollectGarbage(), and StartIncrementalMarking().
Definition at line 2137 of file heap.h.
Referenced by AddHeapObjectAllocationTracker(), CheckHandleCount(), CollectGarbage(), CreateDefaultMeasureMemoryDelegate(), CreateInitialMutableObjects(), DeoptMarkedAllocationSites(), GarbageCollectionEpilogue(), GarbageCollectionEpilogueInSafepoint(), InvokeIncrementalMarkingEpilogueCallbacks(), InvokeIncrementalMarkingPrologueCallbacks(), IterateRoots(), IterateStackRoots(), IterateWeakGlobalHandles(), MarkCompact(), MarkCompactEpilogue(), MarkCompactPrologue(), OnMoveEvent(), PerformGarbageCollection(), PrintFreeListsStats(), PrintShortHeapStatistics(), RecordStats(), RemoveHeapObjectAllocationTracker(), ResetAllAllocationSitesDependentCode(), v8::internal::IdleTaskOnContextDispose::RunInternal(), v8::internal::GCTracer::Scope::Scope(), SelectGarbageCollector(), SetUp(), SetUpSpaces(), TearDown(), TotalGlobalHandlesSize(), v8::internal::IdleTaskOnContextDispose::TryRunMinorGC(), and UsedGlobalHandlesSize().
|
staticprivate |
|
staticconstexprprivate |
Definition at line 2467 of file heap.h.
Referenced by NotifyLoadingEnded(), NotifyLoadingStarted(), and ShouldOptimizeForLoadTime().
|
staticprivate |
Definition at line 1977 of file heap.h.
Referenced by ShouldOptimizeForLoadTime().
|
staticprivate |
|
static |
Definition at line 326 of file heap.h.
Referenced by v8::internal::Scavenger::PromoteObject(), v8::internal::AllocationSite::set_memento_found_count(), v8::internal::WasmStruct::Size(), v8::internal::wasm::anonymous_namespace{liftoff-compiler.cc}::LiftoffCompiler::StructNew(), and v8::internal::wasm::TurboshaftGraphBuildingInterface::StructNewImpl().
|
staticprivate |
|
staticconstexpr |
Definition at line 320 of file heap.h.
Referenced by SemiSpaceSizeFromYoungGenerationSize(), and YoungGenerationSizeFromSemiSpaceSize().
|
staticprivate |
Definition at line 1766 of file heap.h.
Referenced by EvaluateOldSpaceLocalPretenuring().
|
staticconstexpr |
Definition at line 319 of file heap.h.
Referenced by HeapSizeFromPhysicalMemory().
|
static |
Definition at line 315 of file heap.h.
Referenced by DefaultMaxSemiSpaceSize(), DefaultMinSemiSpaceSize(), OldGenerationToSemiSpaceRatioLowMemory(), and v8::internal::PretenuringHandler::ProcessPretenuringFeedback().
|
staticprivate |
Definition at line 1762 of file heap.h.
Referenced by RememberUnmappedPage().
|
staticconstexprprivate |
Definition at line 1880 of file heap.h.
Referenced by AddRetainedMaps(), and CompactRetainedMaps().
|
static |
|
static |
Definition at line 322 of file heap.h.
Referenced by AddToRingBuffer(), and GetFromRingBuffer().
|
staticprivate |
|
staticprivate |
|
private |
Definition at line 2327 of file heap.h.
Referenced by GarbageCollectionEpilogue().
|
private |
Definition at line 2341 of file heap.h.
Referenced by CreateObjectStats(), ObjectCountAtLastGC(), ObjectSizeAtLastGC(), SetUpSpaces(), and TearDown().
|
private |
Definition at line 2211 of file heap.h.
Referenced by CommittedOldGenerationMemory(), Contains(), InSpace(), InSpaceSlow(), OldGenerationCapacity(), PrintShortHeapStatistics(), RecordStats(), and SetUpSpaces().
|
private |
Definition at line 2470 of file heap.h.
Referenced by NotifyLoadingEnded(), NotifyLoadingStarted(), and ShouldOptimizeForLoadTime().
Definition at line 2256 of file heap.h.
Referenced by SetStackStart(), SetUp(), stack(), v8::internal::MarkCompactCollector::TearDown(), and v8::internal::MinorMarkSweepCollector::TearDown().
|
private |
Definition at line 2331 of file heap.h.
Referenced by SetUp(), and TearDown().
|
private |
|
private |
Definition at line 2156 of file heap.h.
Referenced by AllocationLimitOvershotByLargeMargin(), EnsureMinimumRemainingAllocationLimit(), RecomputeLimits(), RecomputeLimitsAfterLoadingIfNeeded(), and SetOldGenerationAndGlobalMaximumSize().
|
private |
Definition at line 2269 of file heap.h.
Referenced by IncrementalMarkingLimitReached(), and PrintMaxMarkingLimitReached().
|
private |
Definition at line 2152 of file heap.h.
Referenced by RecomputeLimits(), RecomputeLimitsAfterLoadingIfNeeded(), and SetOldGenerationAndGlobalMaximumSize().
|
private |
Definition at line 2441 of file heap.h.
Referenced by Heap(), and MaxRegularHeapObjectSize().
|
private |
Definition at line 2144 of file heap.h.
Referenced by ConfigureHeap(), MaxReserved(), and SetUpSpaces().
|
private |
Definition at line 2180 of file heap.h.
Referenced by UpdateMaximumCommitted().
|
private |
Definition at line 2464 of file heap.h.
Referenced by RecomputeLimits(), v8::internal::GCTracer::SampleAllocation(), SetUpSpaces(), and v8::internal::GCTracer::UpdateMemoryBalancerGCSpeed().
|
private |
Definition at line 2336 of file heap.h.
Referenced by GarbageCollectionEpilogueInSafepoint(), SetUp(), and TearDown().
|
private |
Definition at line 2339 of file heap.h.
Referenced by MeasureMemory(), SetUpSpaces(), and TearDown().
|
private |
Definition at line 2198 of file heap.h.
Referenced by CheckMemoryPressure(), GarbageCollectionEpilogueInSafepoint(), and MemoryPressureNotification().
|
private |
Definition at line 2340 of file heap.h.
Referenced by ActivateMemoryReducerIfNeeded(), ActivateMemoryReducerIfNeededOnMainThread(), CollectGarbage(), NotifyContextDisposed(), SetUpSpaces(), and TearDown().
|
private |
Definition at line 2155 of file heap.h.
Referenced by ConfigureHeap(), and EnsureMinimumRemainingAllocationLimit().
|
private |
Definition at line 2149 of file heap.h.
Referenced by ConfigureHeap().
|
private |
Definition at line 2145 of file heap.h.
Referenced by ConfigureHeap(), and SetUpSpaces().
|
private |
Definition at line 2343 of file heap.h.
Referenced by SetUpSpaces(), and TearDown().
|
private |
Definition at line 2332 of file heap.h.
Referenced by MinorMarkSweep(), SetUp(), and TearDown().
|
private |
|
private |
Definition at line 2272 of file heap.h.
Referenced by ActivateMemoryReducerIfNeededOnMainThread(), CollectGarbage(), MarkCompact(), and NotifyOldGenerationExpansion().
|
private |
|
private |
Definition at line 2201 of file heap.h.
Referenced by AddNearHeapLimitCallback(), InvokeNearHeapLimitCallback(), and RemoveNearHeapLimitCallback().
Definition at line 2382 of file heap.h.
Referenced by NotifyDeserializationComplete(), v8::internal::StressConcurrentAllocationObserver::Step(), and TearDown().
|
private |
Definition at line 2213 of file heap.h.
Referenced by CanPromoteYoungAndExpandOldGeneration(), CommittedMemory(), Contains(), InSpace(), InSpaceSlow(), PrintShortHeapStatistics(), ReduceNewSpaceSize(), and SetUpSpaces().
Definition at line 2207 of file heap.h.
Referenced by CommittedMemory(), Contains(), ExpandNewSpaceSize(), InSpace(), InSpaceSlow(), NewSpaceAllocationCounter(), NewSpaceAllocationLimitAddress(), NewSpaceAllocationTopAddress(), NewSpaceLimit(), NewSpaceTop(), PrintShortHeapStatistics(), SetUpSpaces(), and ShouldResizeNewSpace().
|
private |
Definition at line 2387 of file heap.h.
Referenced by GarbageCollectionPrologueInSafepoint(), and NewSpaceAllocationCounter().
|
private |
Definition at line 2316 of file heap.h.
Referenced by GarbageCollectionPrologue(), and UpdateSurvivalStatistics().
|
private |
Definition at line 2318 of file heap.h.
Referenced by v8::internal::GCTracer::PrintNVP(), and UpdateSurvivalStatistics().
|
private |
Definition at line 2320 of file heap.h.
Referenced by GarbageCollectionPrologue(), and v8::internal::GCTracer::PrintNVP().
|
private |
Definition at line 2319 of file heap.h.
Referenced by GarbageCollectionPrologue(), and v8::internal::GCTracer::PrintNVP().
|
private |
Definition at line 2321 of file heap.h.
Referenced by GarbageCollectionPrologue(), and v8::internal::GCTracer::PrintNVP().
|
private |
|
private |
Definition at line 2392 of file heap.h.
Referenced by MarkCompact().
|
private |
Definition at line 2292 of file heap.h.
Referenced by RecomputeLimits(), RecomputeLimitsAfterLoadingIfNeeded(), and SetOldGenerationAndGlobalAllocationLimit().
|
private |
Definition at line 2181 of file heap.h.
Referenced by NotifyBootstrapComplete(), and NotifyOldGenerationExpansion().
|
private |
Definition at line 2395 of file heap.h.
Referenced by MarkCompact(), OldGenerationConsumedBytesAtLastGC(), and RecomputeLimitsAfterLoadingIfNeeded().
|
private |
Definition at line 2398 of file heap.h.
Referenced by MarkCompact(), OldGenerationConsumedBytesAtLastGC(), and RecomputeLimitsAfterLoadingIfNeeded().
Definition at line 2208 of file heap.h.
Referenced by CollectCodeStatistics(), Contains(), HasBeenSetUp(), InOldSpace(), InSpace(), InSpaceSlow(), PrintFreeListsStats(), PrintShortHeapStatistics(), RecordStats(), and SetUpSpaces().
|
private |
Definition at line 2365 of file heap.h.
Referenced by AttachCppHeap(), ConfigureHeap(), and TearDown().
|
private |
Definition at line 2445 of file heap.h.
Referenced by v8::internal::PauseAllocationObserversScope::PauseAllocationObserversScope(), and v8::internal::PauseAllocationObserversScope::~PauseAllocationObserversScope().
Definition at line 2178 of file heap.h.
Referenced by ConfigureHeap(), and NotifyContextDisposed().
|
private |
Definition at line 2459 of file heap.h.
Referenced by PerformGarbageCollection(), and TearDown().
|
private |
Definition at line 2317 of file heap.h.
Referenced by GarbageCollectionPrologue(), and UpdateSurvivalStatistics().
|
private |
Definition at line 2313 of file heap.h.
Referenced by GarbageCollectionPrologue(), MarkCompact(), and UpdateSurvivalStatistics().
|
private |
Definition at line 2315 of file heap.h.
Referenced by v8::internal::GCTracer::PrintNVP(), and UpdateSurvivalStatistics().
|
private |
Definition at line 2314 of file heap.h.
Referenced by v8::internal::GCTracer::PrintNVP(), and UpdateSurvivalStatistics().
|
private |
Definition at line 2215 of file heap.h.
Referenced by CreateReadOnlyObjects(), InSpaceSlow(), PrintShortHeapStatistics(), RecordStats(), ReplaceReadOnlySpace(), SetUpFromReadOnlyHeap(), SetUpSpaces(), and TearDown().
|
private |
Definition at line 2286 of file heap.h.
Referenced by RememberUnmappedPage().
|
private |
Definition at line 2285 of file heap.h.
Referenced by RememberUnmappedPage().
|
private |
Definition at line 2462 of file heap.h.
Referenced by CollectGarbage(), ResizeNewSpace(), and StartResizeNewSpace().
|
private |
Definition at line 2409 of file heap.h.
Referenced by AddToRingBuffer(), and GetFromRingBuffer().
Definition at line 2408 of file heap.h.
Referenced by AddToRingBuffer(), and GetFromRingBuffer().
|
private |
Definition at line 2422 of file heap.h.
Referenced by IterateRoots().
|
private |
Definition at line 2333 of file heap.h.
Referenced by EnsureQuarantinedPagesSweepingCompleted(), Scavenge(), SetUp(), and TearDown().
|
private |
Definition at line 2480 of file heap.h.
Referenced by v8::internal::ConservativePinningScope::ConservativePinningScope(), IterateConservativeStackRoots(), and v8::internal::ConservativePinningScope::~ConservativePinningScope().
|
private |
Definition at line 2223 of file heap.h.
Referenced by SetUpSpaces(), and SharedHeapContains().
|
private |
Definition at line 2224 of file heap.h.
Referenced by SetUpSpaces(), and SharedHeapContains().
|
private |
Definition at line 2214 of file heap.h.
Referenced by CommittedOldGenerationMemory(), Contains(), InSpace(), InSpaceSlow(), OldGenerationCapacity(), and SetUpSpaces().
|
private |
Definition at line 2210 of file heap.h.
Referenced by Contains(), InSpace(), InSpaceSlow(), and SetUpSpaces().
|
private |
Definition at line 2225 of file heap.h.
Referenced by SetUpSpaces(), and SharedHeapContains().
|
private |
Definition at line 2226 of file heap.h.
Referenced by SetUpSpaces(), and SharedHeapContains().
|
private |
Definition at line 2219 of file heap.h.
Referenced by Contains(), InSpace(), InSpaceSlow(), and SetUpSpaces().
|
private |
Definition at line 2217 of file heap.h.
Referenced by Contains(), InSpace(), InSpaceSlow(), and SetUpSpaces().
|
private |
Definition at line 2229 of file heap.h.
Referenced by paged_space(), SetUpFromReadOnlyHeap(), SetUpSpaces(), space(), and TearDown().
|
private |
Definition at line 2344 of file heap.h.
Referenced by NotifyDeserializationComplete(), and TearDown().
|
private |
Definition at line 2262 of file heap.h.
Referenced by GarbageCollectionEpilogueInSafepoint(), IncrementalMarkingLimitReached(), and SetUpSpaces().
|
private |
Definition at line 2265 of file heap.h.
Referenced by HandleGCRequest(), PrintMaxNewSpaceSizeReached(), SetUpSpaces(), and TearDown().
|
private |
Definition at line 2377 of file heap.h.
Referenced by IterateRoots(), RegisterStrongRoots(), TearDown(), and UnregisterStrongRoots().
|
private |
Definition at line 2378 of file heap.h.
Referenced by RegisterStrongRoots(), and UnregisterStrongRoots().
|
private |
Definition at line 2190 of file heap.h.
Referenced by ShouldResizeNewSpace().
|
private |
Definition at line 2330 of file heap.h.
Referenced by EnsureSweepingCompleted(), EnsureYoungSweepingCompleted(), SetUp(), and TearDown().
|
private |
Definition at line 2350 of file heap.h.
Referenced by ActivateMemoryReducerIfNeeded(), MemoryPressureNotification(), PostFinalizationRegistryCleanupTaskIfNeeded(), and SetUp().
|
private |
Definition at line 2324 of file heap.h.
Referenced by PrintShortHeapStatistics(), and UpdateTotalGCTime().
|
private |
Definition at line 2403 of file heap.h.
Referenced by AddToRingBuffer(), and GetFromRingBuffer().
|
private |
Definition at line 2329 of file heap.h.
Referenced by SetUpSpaces(), ShouldResizeNewSpace(), and TearDown().
|
private |
Definition at line 2218 of file heap.h.
Referenced by CollectCodeStatistics(), CommittedOldGenerationMemory(), Contains(), InSpace(), InSpaceSlow(), OldGenerationCapacity(), PrintShortHeapStatistics(), and SetUpSpaces().
|
private |
Definition at line 2216 of file heap.h.
Referenced by CollectCodeStatistics(), Contains(), InSpace(), InSpaceSlow(), PrintShortHeapStatistics(), and SetUpSpaces().
Definition at line 2472 of file heap.h.
Referenced by CollectGarbage(), NotifyLoadingStarted(), RecomputeLimitsAfterLoadingIfNeeded(), and StartIncrementalMarking().